Q1:list集合的應用:java
package com.zhangyuwei.collection; import java.util.ArrayList; import java.util.List; public class test1 { public static void main(String[] args) { List<Integer> list=new ArrayList<Integer>(); list.add(1);list.add(2);list.add(3); System.out.println("長度:"+list.size()); list.remove(0); System.out.println("長度:"+list.size()); list.clear(); System.out.println("長度:"+list.size()); } }
Q2:ArrayList應用數組
package com.zhangyuwei.collection; import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; public class test2 { public static void main(String[] args) { ArrayList<String> arrayList=new ArrayList<String>(); arrayList.add("Tom"); arrayList.add("Jerry"); arrayList.add("Micky"); //使用iterator遍歷元素 Show(arrayList); System.out.println("-----------------------"); System.out.println(arrayList.get(1)); System.out.println("-----------------------"); arrayList.add(1,"ZhangSan"); System.out.println(arrayList.get(1)); System.out.println("---------添加一個集合--------------"); ArrayList<String> arrayList1=new ArrayList<String>(); arrayList1.add("ZhangYuWei"); arrayList.addAll(arrayList1); System.out.println("---------輸出加入集合後的值--------------"); Show(arrayList); System.out.println("--------判斷是否包含某個元素---------------"); if(arrayList.contains("Tom")){ System.out.println("Tom is included in the Arraylist collection"); } System.out.println("------一種新的元素,這個集合支持一些新的特性-----------------------"); LinkedList<String> linkedLis=new LinkedList<String>(); linkedLis.addAll(arrayList); /*集合中設置值*/ linkedLis.set(0,"LunXun"); System.out.println(linkedLis.get(1)); System.out.println("---------得到第一個元素----------------------"); System.out.println(linkedLis.getFirst()); System.out.println("---------得到最後一個元素----------------------"); System.out.println(linkedLis.getLast()); System.out.println("---------獲取並移除第一個元素----------------------"); System.out.println(linkedLis.pollFirst()); System.out.println(linkedLis.getFirst()); System.out.println("---------獲取但不移除第一個元素----------------------"); System.out.println(linkedLis.peekFirst()); System.out.println(linkedLis.getFirst()); } public static void Show(ArrayList<String> arrayList){ Iterator iterator=arrayList.iterator(); while (iterator.hasNext()){ //得到值 Object value=iterator.next(); System.out.println(value); } } }
Q3:HashMap應用ide
package com.zhangyuwei.collection; import java.util.*; public class test3 { public static void main(String[] args) { HashMap<String,Object> hashMap=new HashMap<String, Object>(); // 向Map中添加元素 hashMap.put("Tom", 26); hashMap.put("Jack", 18); hashMap.put("Micky", 17); hashMap.put("Kate", 15); System.out.println("---------根據key值獲取value---------------"); System.out.println(hashMap.get("Tom")); System.out.println("--------------移除--------------------"); hashMap.remove("Tom"); System.out.println("-----------根據key進行判斷-------------------"); if(hashMap.containsKey("Tom")){ System.out.println("Tom is included in the hashmap"); } System.out.println("-------判斷HashMap是否爲空------------"); if(!hashMap.isEmpty()){ System.out.println(hashMap.size()); } System.out.println("-----------獲取key的集合---------------"); for(String item:hashMap.keySet()){ System.out.println(item); } System.out.println("-----------獲取value的集合---------------"); TreeMap<String, Object> treeMap = new TreeMap<String, Object>(); /*將HashMap集合加入到TreeMap中*/ treeMap.putAll(hashMap); System.out.println("----------輸出內容會按照key排序------------------"); for (Map.Entry<String,Object> entry:treeMap.entrySet()){ System.out.println("key:"+entry.getKey()+",value:"+entry.getValue()); } System.out.println("-------LinkHashMap-----------"); LinkedHashMap<String,Integer> linkedHashMap=new LinkedHashMap<String,Integer>(); // 向Map中添加元素 linkedHashMap.put("Tom", 26); linkedHashMap.put("Jack", 18); linkedHashMap.put("Micky", 17); linkedHashMap.put("Kate", 15); System.out.println("------保持了插入的順序------------"); /*for (Map.Entry<String,Integer> entry:linkedHashMap.keySet()){ System.out.println("key:"+entry.getKey()+",value:"+entry.getValue()); }*/ System.out.println(linkedHashMap.get("Kate")); } }
Q4:set基礎操做函數
List<Integer> list = new ArrayList<Integer>(); list.add(3); list.add(4); HashSet<Integer> hashSet = new HashSet<Integer>(); hashSet.add(1); hashSet.add(3); hashSet.add(2); hashSet.add(6); // 重複元素將不能被添加 hashSet.add(3); // 只要有元素被添加就返回true if (hashSet.addAll(list)) { System.out.println("Add success"); } // 判斷是否存在某個集合 if (hashSet.containsAll(list)) { System.out.println("The hashSet is contain 3 and 4"); } Iterator<Integer> it = hashSet.iterator(); while (it.hasNext()) { System.out.print(it.next() + " "); // 1 2 3 4 6 // 看結果是被排序了,HashSet按照Hash函數排序,Integer值的HashCode就是其int值 } // 換轉成數組 Object[] integers = hashSet.toArray(); for (int i = 0; i < integers.length; i++) { System.out.print((Integer) integers[i]); } //移除元素 hashSet.remove(3); TreeSet<String> treeSet = new TreeSet<String>(); treeSet.add("C"); treeSet.add("A"); treeSet.add("D"); treeSet.add("B"); for (Iterator<String> strIt = treeSet.iterator(); strIt.hasNext();) { System.out.print(strIt.next()); // ABCD 按照字母順序 } LinkedHashSet<String> linkedHashSet = new LinkedHashSet<String>(); linkedHashSet.add("C"); linkedHashSet.add("A"); linkedHashSet.add("D"); linkedHashSet.add("B"); for (Iterator<String> linkedIt = linkedHashSet.iterator(); linkedIt .hasNext();) { System.out.print(linkedIt.next()); // CADB 按照插入順序 }
說明:this
1:TreeSet:基於TreeMap,生成一個老是處於排序狀態的set,內部以TreeMap來實現。它是使用元素的天然順序對元素進行排序,或者根據建立Set 時提供的 Comparator 進行排序,具體取決於使用的構造方法。spa
2:集合是數組的升級,長度是動態的,無需預約義code
3:Collection 接口存儲一組不惟一,無序的對象對象
4:Set 接口存儲一組惟一,無序的對象blog
5:Map接口存儲一組鍵值對象,提供key到value的映射,Key不容許重複排序
6:List 容許重複,有序
7:set 不容許重複,無序
8:map value可重複,key不可重複,無序
Q5:一個簡單的應用實例:
1:DVD實體
package com.zhangyuwei.dvdSystem; public class DVD { public int id; public String name; public double price; public boolean isRent; public DVD(int id, String name, double price, boolean isRent) { this.id = id; this.name = name; this.price = price; this.isRent = isRent; } @Override public String toString() { return ("編號:"+this.id+"\t\t"+"名稱:"+this.name+"\t\t"+"價格:"+this.price+"\t\t"+"借出:"+(this.isRent?"是":"否")); } }
2:DVDService
package com.zhangyuwei.dvdSystem; import java.util.HashMap; import java.util.Map; /*服務 DBD管理 DVD業務*/ public class DVDService { /**構造*/ public DVDService(){ init(); } /**DVD集合*/ public Map<Integer,DVD> map=new HashMap<Integer, DVD>(); public void init() { DVD d1 = new DVD(2017001, "功夫", 17.3, true); DVD d2 = new DVD(2017002, "寒戰", 25.6, false); DVD d3 = new DVD(2017003, "超體", 11.9, true); DVD d4 = new DVD(2017004, "異型", 88.8, false); DVD d5 = new DVD(2017005, "龍貓", 64.1, true); map.put(d1.id,d1);map.put(d2.id,d2);map.put(d3.id,d3); map.put(d4.id,d4);map.put(d5.id,d5); } /**添加DVD*/ public void addDVD(DVD dvd){ map.put(dvd.id,dvd); } /*刪除DVD*/ public void delDVD(int id){ map.remove(id); } /**顯示DVD*/ public void showDVD(){ for(Map.Entry<Integer,DVD> entry:map.entrySet()){ System.out.println(entry.getValue().toString()); } } /**修改DVD借出狀態*/ public void modify(int id,boolean isRend){ DVD dvd=map.get(id); dvd.isRent=isRend; } }
3:客戶端(test)(DVDClient)
package com.zhangyuwei.dvdSystem; public class DVDClient { public static void main(String[] args) { DVDService dvdService=new DVDService(); dvdService.showDVD(); System.out.println("-----------------------"); dvdService.modify(2017004,true); dvdService.showDVD(); System.out.println("-----------------------"); dvdService.delDVD(2017004); dvdService.showDVD(); } }
結果: