Java爬坑--集合(一)Collection

下午测试上线,闲来没事,然后继续我的爬坑之路.


 1 import java.util.ArrayList;
 2 import java.util.Collection;
 3 import java.util.Iterator;
 4 import java.util.Vector;
 5 
 6 /**
 7  * Created by Q_先森 on 2017/12/5.
 8  */
 9 public class CollectionReview {
10     public static void main(String[] args) {
11         test();
12     }
13 
14     private static void test() {
15         // Collection<E>为接口,使用多态进行创建
16         Collection<String> collection = new Vector<>();
17         collection.add("德玛西亚之力");
18         collection.add("诺克萨斯之手");
19         collection.add("卡特琳娜");
20 
21         Collection<String> coll = new ArrayList();
22         coll.add("卡牌大师");
23         coll.add("光辉女郎");
24         coll.add("蛮族之王");
25 
26         // collection.clear(); // 清空集合
27         // boolean empty = collection.isEmpty(); // 集合是否为空
28         // System.out.println(collection.isEmpty());
29 
30         // int size = collection.size(); // 获取集合大小
31         // System.out.println(size);
32 
33         // boolean contains = collection.contains("阿木木"); // 是否包含另一个元素
34         // System.out.println(contains);
35 
36         // boolean containsAll = collection.containsAll(coll); //是否完全包含另一个集合
37         // System.out.println(containsAll);
38 
39         // boolean remove = collection.remove("卡特琳娜");// 删除第一个匹配项,删除了匹配项则返回true
40         // boolean removeAll = collection.removeAll(coll);  // 删除与指定集合有交集的部分,原集合有改变就返回true
41         // System.out.println(removeAll);
42 
43         // boolean retainAll = collection.retainAll(coll);// 保留与指定集合有交集的部分,原集合有改变就返回true
44         // System.out.println(retainAll);
45 
46         // 方式1 (后面会研究一下具体内容,这里只做展示)
47         Iterator<String> iterator = collection.iterator();
48         while (iterator.hasNext()) {
49             System.out.println(iterator.next());
50         }
51         System.out.println("--------割-----------");
52 
53         // 方式2 ,for循环完iter就会被销毁,节约内存提高效率
54         for (Iterator<String> iter = collection.iterator(); iter.hasNext(); ) {
55             System.out.println(iter.next());
56 
57         }
58         System.out.println("--------割-----------");
59 
60         Object[] array = collection.toArray();  // 转化为object数组
61         for (Object string : array) {
62             System.out.println(string);
63         }
64         System.out.println("--------割-----------");
65 
66         String[] arr = new String[collection.size()];
67         String[] array2 = collection.toArray(arr);  // 指定要转化的数组类型
68         for (String string : array2) {
69             System.out.println(string);
70         }
71         System.out.println("--------割-----------");
72 
73         // Stream(JAVA 8) 大家可以把Stream当成一个高级版本的Iterator。这里只举了一个例子,后面会详细研究一下
74         System.out.println(collection.stream().count()); // 3
75         System.out.println(collection.stream().filter(str -> !str.equals("卡特琳娜")).count()); // 过滤掉'卡特琳娜' 2
76         System.out.println("--------割-----------");
77 
78         // parallelStream其实就是一个并行执行的流.它通过默认的ForkJoinPool,可能提高你的多线程任务的速度.
79         collection.parallelStream().forEach(System.out::println);// 打印顺序不一样,不多做解释,待后面慢慢来研究
80         System.out.println("--------割-----------");
81 
82         collection.removeIf(str -> str.startsWith("德玛")); // 移除集合中满足给定条件的所有元素
83         collection.forEach(System.out::println);
84         System.out.println("--------割-----------");
85 
86         // 这里只举了一个例子,后面会详细研究一下
87         collection.retainAll(coll); // 求交集(1.首先调用retainAll的方法 2、通过判断集合的大小,来确定是否存在交集。)
88         if (collection.size() > 0) {
89             System.out.println("这两个集合有相同的交集");
90         } else {
91             System.out.println("这两个集合没有相同的交集");
92         }
93         System.out.println("--------割-----------");
94 
95 
96     }
97 
98 }

 

 

 

这是接口Collection的一些总结,后面还会陆续细化,爬坑路上难免出错,欢迎各位道友纠错与指正,共同进步.

posted @ 2017-12-05 17:33  杨康是个大坏蛋  阅读(303)  评论(0编辑  收藏  举报