1. 程式人生 > 實用技巧 >集合框架

集合框架

Collection集合 (不唯一,無序):

1.List集合(不唯一、有序):

1.1ArrayList集合

1.2LinkedList集合

2.Set集合(唯一、無序)

ArrayList和LinkedList

儲存方式:

ArrayList:長度可變的陣列,儲存空間連續

LinkedList集合:連結串列式結構儲存

執行效率:

ArrayList:遍歷和隨機訪問效率高

LinkedList集合:插入和刪除效率高

遍歷集合的方法

1.增強for迴圈遍歷

2.迭代器Iterator遍歷

public class TestDog {
    
    @Test 
    public
void test04(){ //建立物件 Dog meimei = new Dog("美美","貴賓犬"); Dog feifei = new Dog("菲菲","蝴蝶犬"); Dog dahuang = new Dog("大黃","金毛"); Dog xiaohei = new Dog("小黑","藏獒"); Map map = new HashMap<>(); map.put(meimei.getName(), meimei); map.put(feifei.getName(), feifei); map.put(dahuang.getName(), dahuang); map.put(xiaohei.getName(), xiaohei); Set keySet
= map.keySet(); Iterator it = keySet.iterator(); while(it.hasNext()){ String key = (String)it.next(); Dog dog = (Dog)map.get(key); System.out.println(dog.getName()+" "+dog.getStrain()); } for(Object key : keySet){ Dog dog
= (Dog)map.get(key); System.out.println(dog.getName()+" "+dog.getStrain()); } } @Test public void test03(){ Map map = new HashMap(); //增加資料 map.put("疾風劍豪", "亞索"); map.put("暗夜獵手", "薇恩"); map.put("盲僧", "李青"); //獲取長度 System.out.println(map.size()); //根據key獲取values String str = (String)map.get("疾風劍豪"); System.out.println(str); //移除某個key map.remove("疾風劍豪"); //判斷是否包含某個key System.out.println(map.containsKey("疾風劍豪")); //獲取所有的值 System.out.println(map.values()); System.out.println(map.keySet()); } @Test public void test02(){ //建立物件 Dog meimei = new Dog("美美","貴賓犬"); Dog feifei = new Dog("菲菲","蝴蝶犬"); Dog dahuang = new Dog("大黃","金毛"); Dog xiaohei = new Dog("小黑","藏獒"); //建立陣列物件 LinkedList list = new LinkedList<>(); list.add(feifei); list.add(meimei); list.addFirst(xiaohei); for(int i = 0; i < list.size(); i++){ Dog d = (Dog) list.get(i); System.out.println(d.getName()+"\t"+d.getStrain()); } System.out.println("=============="); list.addLast(dahuang); for(int i = 0; i < list.size(); i++){ Dog d = (Dog) list.get(i); System.out.println(d.getName()+"\t"+d.getStrain()); } System.out.println(list.getFirst()); System.out.println(list.getLast()); System.out.println("=============="); list.removeFirst(); list.removeLast(); for(int i = 0; i < list.size(); i++){ Dog d = (Dog) list.get(i); System.out.println(d.getName()+"\t"+d.getStrain()); } } @Test public void test01(){ //建立物件 Dog meimei = new Dog("美美","貴賓犬"); Dog feifei = new Dog("菲菲","蝴蝶犬"); Dog dahuang = new Dog("大黃","金毛"); Dog xiaohei = new Dog("小黑","藏獒"); //建立陣列物件 List list = new ArrayList(); list.add(meimei); list.add(feifei); list.add(xiaohei); //列印陣列長度 System.out.println(list.size()); //遍歷陣列 for(int i = 0; i < list.size(); i++){ Dog d = (Dog) list.get(i); System.out.println(d.getName()+"\t"+d.getStrain()); } System.out.println("========="); list.add(0, dahuang);//第一位增加大黃 for(int i = 0; i < list.size(); i++){ Dog d = (Dog) list.get(i); System.out.println(d.getName()+"\t"+d.getStrain()); } System.out.println("========="); list.remove(0);//刪除0號元素 for(int i = 0; i < list.size(); i++){ Dog d = (Dog) list.get(i); System.out.println(d.getName()+"\t"+d.getStrain()); } //判斷是否有此元素 System.out.println(list.contains(xiaohei)); } }