JAVA 13 (集合框架)
生活随笔
收集整理的這篇文章主要介紹了
JAVA 13 (集合框架)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
集合是一種容器。 集合和數組的不同之處:只用于存儲對象,集合長度可變,數組只能存同一種類型的對象,集合可以存任意對象。 Collection |--List:元素是有序的,元素可以重復,因為該集合提醒有索引 |--ArrayList:底層的數據結構使用的是數組,查詢速度很快,增刪稍慢。是不同步的,容易出安全隱患。單線程用,效率高。 |--LinkedList:底層數據結構使用的是鏈表數據結構,查詢速度慢,增刪快 |--Vetor:底層是數組數據結構。victor是同步的,進步不用了 |--Set:元素無需,不可重復,無索引 ? ? ? ? ? ? |--HashSet :底層數據結構是哈希表。 |--TreeSet
Collection collection是一個接口 其中包含ArrayList 和 LinkedList 和 Vector ?三個主要的類 集合中存儲的是對象的引用。 主要方法介紹:以ArrayList為例 import java.util.*; public class Test { public static void main(String adgs[]) { ArrayList al = new ArrayList(); ArrayList al2 = new ArrayList(); al2.add("ppp"); al2.add("kkk"); //1,,添加元素 al.add("java1"); al.add("java2"); al.add("java3"); al.add("java4"); //2,獲取長度 sop("size:"+al.size()); //3,打印集合 sop(al); //4,刪除元素 al.remove("java2"); //使用該對象的equals來判斷是否相同 sop(al); //5,清空集合 al.clear(); sop(al); al.add("java1"); al.add("java2"); al.add("java3"); al.add("java4"); //6,判斷元素 sop("java1是否存在"+al.contains("java1")); ? //equals //7,添加集合 addall al.addAll(al2); sop(al); //8,取交集,存放在al中 al.clear(); al2.clear(); al.add("java1"); al.add("java2"); al.add("java3"); al.add("java4"); al2.add("ppp"); al2.add("kkk"); al2.add("java3"); al2.add("java4"); al.retainAll(al2); sop(al); //9,取差集 ?al/al2 al.removeAll(al2); //10,containsAll() 返回 true or false } public static void sop(Object o) { System.out.println(o); } } 迭代器類:Interator 取出并操作元素: 統一了集合元素的取出方式。 使用過程: 獲取對象 Interator it = collection.iterator(); 方法 Object it.next()//取出元素 boolean it.hasNext()//判斷是否還有元素可以取出 import java.util.*; public class Test { public static void main(String adgs[]) { ArrayList al = new ArrayList(); //1,,添加元素 al.add("java1"); al.add("java2"); al.add("java3"); al.add("java4"); /* Iterator it = al.iterator();//獲取迭代器,用于取出集合中的元素 while(it.hasNext()) sop(it.next()); */ for(Iterator it = al.iterator();it.hasNext();) //這種寫法節省內存 sop(it.next()); } public static void sop(Object o) { System.out.println(o); } } List ? List特有的常見方法: 凡是可以操作角標的方法都是 增 add(index,element) addAll(index,Collection) 刪 remove(index) 改 set(index,element)//ele:元素 查?? get(index) subList(from,to) listIterator() ArrayList import java.util.*; public class Test { public static void main(String adgs[]) { ArrayList al = new ArrayList(); //添加元素 al.add("java01"); al.add("java02"); al.add("java03"); sop("元集合"+al); al.add(1,"java09"); sop(al); //刪除指定位置元素 al.remove(2); sop(al); //修改元素 al.set(1, "jjj"); sop(al); //查 sop("1:"+al.get(1)); //獲取所有元素。 for(int x=0;x<al.size();x++) sop("al()"+al.get(x)); //通過 indexOF獲取對象的位置 sop(al.indexOf("java03")); List sub = al.subList(1, 3); ? sop(sub); } public static void sop(Object o) { System.out.println(o); } } 列表迭代器 import java.util.*; public class Test { public static void main(String adgs[]) { ArrayList al = new ArrayList(); al.add("java01"); al.add("java02"); al.add("java03"); Iterator it = al.iterator(); while(it.hasNext()) { Object obj = it.next(); if(obj.equals("java02")) it.remove(); ? ? //講java02從集合中刪除了。但不支持al.add()操作 //會引發異常 sop(obj); } sop(al); } public static void sop(Object o) { System.out.println(o); } } 所以就有了列表迭代器: LinkedList ? 特有方法: addFirst(obj);//在LL的最開頭添加obj addLast(obj); getFirst(); //獲取頭,尾 getLast(); removeFirst();//獲取元素,但是元素會被刪除。如果沒有元素,會出現異常。 removeLast(); ? ArrayList 練習 ? 刪除重復對象,核心在于重寫該對象的equals方法 注意類型轉換多態的應用。 Set ? Set接口:元素無須,不可重復。 Set的功能是和Collection是一致的 建立對象時建立 HashSet
Collection collection是一個接口 其中包含ArrayList 和 LinkedList 和 Vector ?三個主要的類 集合中存儲的是對象的引用。 主要方法介紹:以ArrayList為例 import java.util.*; public class Test { public static void main(String adgs[]) { ArrayList al = new ArrayList(); ArrayList al2 = new ArrayList(); al2.add("ppp"); al2.add("kkk"); //1,,添加元素 al.add("java1"); al.add("java2"); al.add("java3"); al.add("java4"); //2,獲取長度 sop("size:"+al.size()); //3,打印集合 sop(al); //4,刪除元素 al.remove("java2"); //使用該對象的equals來判斷是否相同 sop(al); //5,清空集合 al.clear(); sop(al); al.add("java1"); al.add("java2"); al.add("java3"); al.add("java4"); //6,判斷元素 sop("java1是否存在"+al.contains("java1")); ? //equals //7,添加集合 addall al.addAll(al2); sop(al); //8,取交集,存放在al中 al.clear(); al2.clear(); al.add("java1"); al.add("java2"); al.add("java3"); al.add("java4"); al2.add("ppp"); al2.add("kkk"); al2.add("java3"); al2.add("java4"); al.retainAll(al2); sop(al); //9,取差集 ?al/al2 al.removeAll(al2); //10,containsAll() 返回 true or false } public static void sop(Object o) { System.out.println(o); } } 迭代器類:Interator 取出并操作元素: 統一了集合元素的取出方式。 使用過程: 獲取對象 Interator it = collection.iterator(); 方法 Object it.next()//取出元素 boolean it.hasNext()//判斷是否還有元素可以取出 import java.util.*; public class Test { public static void main(String adgs[]) { ArrayList al = new ArrayList(); //1,,添加元素 al.add("java1"); al.add("java2"); al.add("java3"); al.add("java4"); /* Iterator it = al.iterator();//獲取迭代器,用于取出集合中的元素 while(it.hasNext()) sop(it.next()); */ for(Iterator it = al.iterator();it.hasNext();) //這種寫法節省內存 sop(it.next()); } public static void sop(Object o) { System.out.println(o); } } List ? List特有的常見方法: 凡是可以操作角標的方法都是 增 add(index,element) addAll(index,Collection) 刪 remove(index) 改 set(index,element)//ele:元素 查?? get(index) subList(from,to) listIterator() ArrayList import java.util.*; public class Test { public static void main(String adgs[]) { ArrayList al = new ArrayList(); //添加元素 al.add("java01"); al.add("java02"); al.add("java03"); sop("元集合"+al); al.add(1,"java09"); sop(al); //刪除指定位置元素 al.remove(2); sop(al); //修改元素 al.set(1, "jjj"); sop(al); //查 sop("1:"+al.get(1)); //獲取所有元素。 for(int x=0;x<al.size();x++) sop("al()"+al.get(x)); //通過 indexOF獲取對象的位置 sop(al.indexOf("java03")); List sub = al.subList(1, 3); ? sop(sub); } public static void sop(Object o) { System.out.println(o); } } 列表迭代器 import java.util.*; public class Test { public static void main(String adgs[]) { ArrayList al = new ArrayList(); al.add("java01"); al.add("java02"); al.add("java03"); Iterator it = al.iterator(); while(it.hasNext()) { Object obj = it.next(); if(obj.equals("java02")) it.remove(); ? ? //講java02從集合中刪除了。但不支持al.add()操作 //會引發異常 sop(obj); } sop(al); } public static void sop(Object o) { System.out.println(o); } } 所以就有了列表迭代器: LinkedList ? 特有方法: addFirst(obj);//在LL的最開頭添加obj addLast(obj); getFirst(); //獲取頭,尾 getLast(); removeFirst();//獲取元素,但是元素會被刪除。如果沒有元素,會出現異常。 removeLast(); ? ArrayList 練習 ? 刪除重復對象,核心在于重寫該對象的equals方法 注意類型轉換多態的應用。 Set ? Set接口:元素無須,不可重復。 Set的功能是和Collection是一致的 建立對象時建立 HashSet
轉載于:https://www.cnblogs.com/hitxx/p/4675980.html
總結
以上是生活随笔為你收集整理的JAVA 13 (集合框架)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 利用 FFmpeg palettegen
- 下一篇: 那些年的那些事CISC和RISC发展中的