程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> 使用內部類開發一個存放數據的容器,存放數據容器

使用內部類開發一個存放數據的容器,存放數據容器

編輯:JAVA綜合教程

使用內部類開發一個存放數據的容器,存放數據容器


案例介紹:開發一個容器用來存放鍵值對,鍵存放英文名字,值存放中文名字,對鍵值對使用內部類來進行封裝;

案例設計:

①   使用靜態內部類封裝鍵值對數據;

②   容器默認大小為5,超過就擴容其2倍;

③   通過調用entryArrays方法返回容器中的數據;

 1 import java.util.Arrays;
 2 public class EntryDemo{
 3     public static void main(String []args){
 4         MyContainer container=new MyContainer();
 5         container.put("jack","傑克");
 6         container.put("jay","周傑倫");
 7         container.put("john","約翰");
 8         container.put("rose","羅斯");
 9         container.put("jack","張三");
10         
11         MyContainer.Entry[] entrys=container.entryArrays();
12         for(int i=0;i<entrys.length;i++){
13             MyContainer.Entry entry=entrys[i];
14             System.out.println(entry.getKey()+"--"+entry.getValue());
15         }
16     }
17 }
18 
19 class MyContainer{
20     //存放entry對象的數組,默認大小為5
21     private Entry[] entrys=new Entry[5];
22     private int count=0;
23     
24     //對外提供一個接口向容器中存放封裝好的數據
25     public void put(String key,String value){
26         Entry entry=new Entry();
27         entry.setKey(key);
28         entry.setValue(value);
29         entrys[count++]=entry;//存放entry對象到數組中
30         //數組的擴容
31         if(count>=entrys.length){
32             //擴容後的新數組大小
33             int newCapacity=entrys.length*2;
34             //把老數組中的數據復制到長度為newCapacity的新數組中
35             entrys=Arrays.copyOf(entrys,newCapacity);
36         }
37     }
38     
39     //把容器中的有數據的內容返回
40     public Entry[] entryArrays(){
41         return Arrays.copyOfRange(entrys,0,count);
42     }
43     
44     //把鍵值對封裝在Entry對象中
45     public static class Entry{
46         private String key;
47         private String value;
48         public void setKey(String key){
49             this.key=key;
50         }
51         public String getKey(){
52             return key;
53         }
54         public void setValue(String value){
55             this.value=value;
56         }
57         public String getValue(){
58             return value;
59         }
60     }
61 }

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved