A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


  1. import java.util.Arrays;
  2. public class EntryDemo{
  3.         public static void main(String []args){
  4.                 MyContainer mc=new MyContainer();
  5.                 mc.put("1","a");
  6.                 mc.put("2","b");
  7.                 mc.put("3","c");
  8.         mc.put("4","d");
  9.                 MyContainer.Entry [] entrys=mc.entryArrays();
  10.                 for (int i=0;i<entrys.length;i++){
  11.                         //取出数组
  12.                         MyContainer.Entry entry=entry[i];
  13.                         System.out.println(entry.getKey()+"-----"+entry.getValue());
  14.                 }
  15.         }
  16. }

  17. class MyContainer{
  18.         //存放entry对象的数组
  19.         private Entry [] entrys=new Entry[5];
  20.         private int count=0;

  21.         //对外提供一接口向容器中存放封装好的数据
  22.     public void put(String key,String value){
  23.                 Entry entry=new Entry();
  24.                 entry.setKey(key);
  25.                 entry.setValue(value);
  26.                 entrys[count++]=entry;//存放entry对象到数组
  27.                 if(count>entrys.length){
  28.                         //扩容后的容器大小
  29.                         int newcapacity=entrys.length*2;
  30.                         entrys=Arrays.copyOf(entrys,newcapacity);
  31.                 }

  32.         }
  33.     //把容器中的有数据的内容返回
  34.     public Entry [] entryArrays(){
  35.                 return Arrays.copyOfRange(entrys,0,count);
  36.         }

  37.     //把键值对封装在Entry对象中
  38.         public static class Entry{
  39.                 private String key;
  40.                 private String value;
  41.                 public void setKey(String key){
  42.                         this.key=key;
  43.                 }
  44.                 public String getKey(){
  45.                         return key;
  46.                 }
  47.                 public void setValue(String value){
  48.                         this.value=value;
  49.                 }
  50.                 public String getValue(){
  51.                         return value;
  52.                 }
  53.         }
  54. }
复制代码



1 个回复

倒序浏览
本帖最后由 winddack 于 2015-10-7 17:49 编辑
  1. 12行MyContainer.Entry entry=entry[i];   应该是MyContainer.Entry entry=entrys[i];
复制代码


评分

参与人数 1黑马币 +5 收起 理由
silentCat + 5 很给力!

查看全部评分

回复 使用道具 举报 1 0
您需要登录后才可以回帖 登录 | 加入黑马