Collection接口
Collection是最基本的集合接口!
该接口定义了集合框架中最共性的功能!
最终使用的时候,其实使用的是该框架最子类的对象!
下面挨个探讨一下Collection接口中的基本方法:
1、添加方法:
方法a: boolean add(object e); 一次添加一个元素
[html] view plain copy import java.util.ArrayList; import java.util.Collection; public class Main_one { public static void main(String[] args) { Collection coll=new ArrayList(); collectionDemo(coll); } public static void collectionDemo(Collection coll) { // 导包快捷键:ctrl+shift+o // 1、添加元素 coll.add("abc1"); coll.add("abc2"); coll.add("abc3"); System.out.println(coll); } }方法b: boolean addAll(Collection c); 将一个参数容器中的元素添加到当前容器中
List list = new ArrayList(); Iphone[] iphone = {new Iphone("苹果","10"),new Iphone("华为","13")}; //数组转集合 list.addAll(Arrays.asList(iphone)); System.out.println(((Iphone)list.get(0)).getName()); System.out.println(((Iphone)list.get(1)).getName()); System.out.println("------------------------------"); Iphone[] summng = {new Iphone("三星","9"),new Iphone("小米","8")}; list.addAll(1, Arrays.asList(summng)); System.out.println(((Iphone)list.get(0)).getName()); System.out.println(((Iphone)list.get(1)).getName()); System.out.println(((Iphone)list.get(2)).getName()); System.out.println(((Iphone)list.get(3)).getName()); System.out.println("------------------------------"); Iterator it = list.iterator(); while(it.hasNext()){ System.out.println(((Iphone)it.next()).getName()); } list.remove(((Iphone)list.get(2))); list.removeAll(Arrays.asList(summng)); System.out.println("------------------------------"); System.out.println(list.toString()); [html] view plain copy import java.util.ArrayList; import java.util.Collection; public class Main_one { public static void main(String[] args) { // Collection中带All的方法 Collection c1=new ArrayList(); Collection c2=new ArrayList(); collectionAllDemo(c1,c2); } // Collection中带All的方法的实现 public static void collectionAllDemo(Collection c1,Collection c2) { // 给这两个集合中存储一些元素 c1.add("abcd1"); c1.add("abcd2"); c1.add("abcd3"); c1.add("abcd4"); c1.add("abcd5"); c2.add("abcd3"); c2.add("abcd4"); c2.add("abcd6"); System.out.println(c1); // 输出的是[abcd1, abcd2, abcd3, abcd4, abcd5] // 把c2中的元素添加到c1中 c1.addAll(c2); System.out.println(c1); // 输出的是[abcd1, abcd2, abcd3, abcd4, abcd5, abcd3, abcd4, abcd6] } }
2、删除方法:
方法a: boolean remove(object e); 删除一个指定对象
[html] view plain copy // 2、删除元素 coll.remove("abc2"); System.out.println(coll); // 输出的是[abc1, abc3] 方法b: boolean removeAll(Collection c);删除指定的 Collection 中和本 Collection 中相同的元素[html] view plain copy // 将c1中与c2相同的元素删除 c1.removeAll(c2); System.out.println(c1); // 输出结果是[abcd1, abcd2, abcd5] 方法c:v oid clear(); 直接将集合中的元素清空
[html] view plain copy // 3、清空元素 coll.clear(); System.out.println(coll); // 输出的是[] 3、判断方法:
方法a: boolean contains(object e); 是否包含指定元素
[html] view plain copy // 4、判断是否包含指定元素 Boolean b=coll.contains("abc1"); System.out.println("b="+b); // 输出的是b=true Boolean d=coll.contains("abc2"); System.out.println("d="+d); // 输出的是d=false 方法b: boolean containsAll(Collection c); 是否包含指定容器中的元素 [html] view plain copy // 3、判断是否包含指定容器中的元素 Boolean b=c1.containsAll(c2); System.out.println("b="+b); // 输出的是b=true 方法c:Boolean isEmpty(); 判断是否有元素 [html] view plain copy // 5、判断是否元素 Boolean m=coll.isEmpty(); System.out.println("m="+m); // 输出的是m=true: 表示没有元素 4、获取元素个数的方法:int size(); 获取元素的个数
[html] view plain copy // 获取元素的个数 System.out.println("size="+c1.size()); // 输出的是size=8 5、取交集的方法:
Boolean retainAll(Collection c);保留和指定collection集合中相同的元素,不相同的元素会被删除
[html] view plain copy // 5、 取交集方法 c1.retainAll(c2); // 将c1中与c2中相同的元素保留,其余的删除 System.out.println(c1); // 输出的是[abcd3, abcd4][html] view plain copy import java.util.ArrayList; import java.util.Collection; public class Main_one { public static void main(String[] args) { Collection coll=new ArrayList(); collectionDemo(coll); // Collection中带All的方法 Collection c1=new ArrayList(); Collection c2=new ArrayList(); collectionAllDemo(c1,c2); } public static void collectionDemo(Collection coll) { // 导包快捷键:ctrl+shift+o // 1、添加元素 coll.add("abc1"); coll.add("abc2"); coll.add("abc3"); System.out.println(coll); // 输出的是 [abc1, abc2, abc3] // 2、删除元素 coll.remove("abc2"); System.out.println(coll); // 输出的是[abc1, abc3] // 4、判断是否包含指定元素 Boolean b=coll.contains("abc1"); System.out.println("b="+b); // 输出的是b=true Boolean d=coll.contains("abc2"); System.out.println("d="+d); // 输出的是d=false // 3、清空元素 coll.clear(); System.out.println(coll); // 输出的是[] // 5、判断是否元素 Boolean m=coll.isEmpty(); System.out.println("m="+m); // 输出的是m=true: 表示没有元素 } // Collection中带All的方法的实现 public static void collectionAllDemo(Collection c1,Collection c2) { // 1、给这两个集合中存储一些元素 c1.add("abcd1"); c1.add("abcd2"); c1.add("abcd3"); c1.add("abcd4"); c1.add("abcd5"); c2.add("abcd3"); c2.add("abcd4"); c2.add("abcd6"); System.out.println(c1); // 输出的是[abcd1, abcd2, abcd3, abcd4, abcd5] // 5、 取交集方法 c1.retainAll(c2); System.out.println(c1); // 输出的是 // 2、把c2中的元素添加到c1中 c1.addAll(c2); System.out.println(c1); // 输出的是[abcd1, abcd2, abcd3, abcd4, abcd5, abcd3, abcd4, abcd6] // 获取元素的个数 System.out.println("size="+c1.size()); // 输出的是size=8 // 3、判断是否包含指定容器中的元素 Boolean b=c1.containsAll(c2); System.out.println("b="+b); // 输出的是b=true // 4、将c1中与c2相同的元素删除 c1.removeAll(c2); System.out.println(c1); // 输出结果是[abcd1, abcd2, abcd5] } } List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); list.add(6); list.add(6); list.add(6); list.add(7); list.add(8); list.add(9); List<Integer> li = new ArrayList<>(); li.add(1); li.add(5); li.add(6); li.add(10); li.add(11); li.add(12); li.add(13); System.out.println(list.containsAll(list));//true System.out.println(list.toString());//[1, 2, 3, 4, 5, 6, 6, 6, 7, 8, 9] System.out.println(list.removeAll(li));//true System.out.println(list.toString());//[2, 3, 4, 7, 8, 9]
