Java基礎-引用數據類型之集合(Collection)


                 Java基礎-引用數據類型之集合(Collection)

                                      作者:尹正傑

版權聲明:原創作品,謝絕轉載!否則將追究法律責任。  

 

 

一.為什么出現集合類

  面向對象語言對事物的體現都是以對象的形式,所以為了方便對多個對象的操作,就可以將對象進行存儲,集合就是存儲對象最常用的一種方式(容器),Java中集合也是類,真正用來存儲東西的是某種集合類的實例對象。

 

二.集合類的特點

  數據和集合類都是容器,有何不同?集合類的特點又是什么呢?

1>.數組的特點

  a>.長度是固定的;

  b>.可以存儲基本數據類型;

  c>.也可以存儲對象的引用;

  d>.必須是相同類型的數據;

2>.集合的特點

  a>.長度是可變的;

  b>.只能用於存儲對象的引用;

  c>.對象可以是不同類型;

 

三.Collection接口概述

  Collection是集合中的根接口。collection表示一組對象,這個對象也稱為collection的元素,一些collection允許有重復的元素,而另一些則不允許,請記住下面這張圖,有助你學習Java中的集合。

  如上圖所示,Collection根接口有兩個子接口,分別是List和Set:

1>.List接口

  可以存放重復遠古三,元素存取是“有序”的。

2>.Set接口

  不可以存放重復元素,通常元素存取是“無序”的,也有一些實現類元素是“有序”的。

  注意:這里的“有序”,“無序”指的是存放元素是是否會記住元素存放的順序,並非對元素進行“排序”。 

 

四.Collection接口的基本方法

 1>.add()方法【往集合中添加元素】

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 
 7 package cn.org.yinzhengjie.demo;
 8 
 9 import java.util.ArrayList;
10 import java.util.Collection;
11 
12 public class CollectionDemo {
13     public static void main(String[] args) {
14         //接口多態的方式調用
15         Collection<String> coll = new ArrayList<String>();
16         //存儲數據
17         coll.add("yinzhengjie");
18         coll.add("alex");
19         coll.add("Big data");
20         System.out.println(coll);
21     }
22 }
23 
24 
25 /*
26 以上代碼執行結果如下:
27 [yinzhengjie, alex, Big data]
28 */

2>.clear()方法【清空集合的內容】

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 
 7 package cn.org.yinzhengjie.demo;
 8 
 9 import java.util.ArrayList;
10 import java.util.Collection;
11 
12 public class CollectionDemo {
13     public static void main(String[] args) {
14         //接口多態的方式調用
15         Collection<String> coll = new ArrayList<String>();
16         //存儲數據
17         coll.add("yinzhengjie");
18         coll.add("alex");
19         coll.add("Big data");
20         System.out.println(coll);
21         //清空集合內容
22         coll.clear();
23         System.out.println(coll);
24     }
25 }
26 
27 
28 /*
29 以上代碼執行結果如下:
30 [yinzhengjie, alex, Big data]
31 []
32 */

3>.Contains(Object o )方法【判斷對象是否存在於集合中】

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 
 7 package cn.org.yinzhengjie.demo;
 8 
 9 import java.util.ArrayList;
10 import java.util.Collection;
11 
12 public class CollectionDemo {
13     public static void main(String[] args) {
14         //接口多態的方式調用
15         Collection<String> coll = new ArrayList<String>();
16         //存儲數據
17         coll.add("yinzhengjie");
18         coll.add("alex");
19         coll.add("Big data");
20         //查詢集合是否存在“yinzhengjie”這個字符串
21         boolean b = coll.contains("yinzhengjie");
22         System.out.println(b);
23     }
24 }
25 
26 
27 /*
28 以上代碼執行結果如下:
29 true
30 */

4>.size()方法【查看集合的長度】

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 
 7 package cn.org.yinzhengjie.demo;
 8 
 9 import java.util.ArrayList;
10 import java.util.Collection;
11 
12 public class CollectionDemo {
13     public static void main(String[] args) {
14         //接口多態的方式調用
15         Collection<String> coll = new ArrayList<String>();
16         //存儲數據
17         coll.add("yinzhengjie");
18         coll.add("alex");
19         coll.add("Big data");
20         //查看集合的大小
21         int length = coll.size();
22         System.out.println(length);
23     }
24 }
25 
26 
27 /*
28 以上代碼執行結果如下:
29 3
30 */

5>.toArray()方法【返回的是一個存儲對象的數組,數組的存儲數據類型是Object】

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 
 7 package cn.org.yinzhengjie.demo;
 8 
 9 import java.util.ArrayList;
10 import java.util.Collection;
11 
12 public class CollectionDemo {
13     public static void main(String[] args) {
14         //接口多態的方式調用
15         Collection<String> coll = new ArrayList<String>();
16         //存儲數據
17         coll.add("yinzhengjie");
18         coll.add("alex");
19         coll.add("Big data");
20         
21         //將集合轉換成一個數組
22         Object[] array = coll.toArray();
23         for (Object object : array) {
24             System.out.println(object);
25         }
26     }
27 }
28 
29 
30 /*
31 以上代碼執行結果如下:
32 yinzhengjie
33 alex
34 Big data
35 */

6>.remove方法【移除集合中指定的元素,若有多個想用元素就刪除第一個匹配到的元素】

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 
 7 package cn.org.yinzhengjie.demo;
 8 
 9 import java.util.ArrayList;
10 import java.util.Collection;
11 
12 public class CollectionDemo {
13     public static void main(String[] args) {
14         //接口多態的方式調用
15         Collection<String> coll = new ArrayList<String>();
16         //存儲數據
17         coll.add("yinzhengjie");
18         coll.add("alex");
19         coll.add("Big data");
20         coll.add("yinzhengjie");
21         
22         System.out.println(coll);
23         
24         boolean b = coll.remove("yinzhengjie");
25         System.out.println(b);
26         System.out.println(coll);
27     }
28 }
29 
30 
31 /*
32 以上代碼執行結果如下:
33 [yinzhengjie, alex, Big data, yinzhengjie]
34 true
35 [alex, Big data, yinzhengjie]
36 */

 7>.addAll(Collection c)方法【將一個集合中的所有元素添加到當前集合中】

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 
 7 package cn.org.yinzhengjie.demo;
 8 
 9 import java.util.ArrayList;
10 import java.util.Collection;
11 
12 public class CollectionDemo {
13     public static void main(String[] args) {
14         //接口多態的方式調用
15         Collection<String> coll = new ArrayList<String>();
16         //存儲數據
17         coll.add("yinzhengjie");
18         coll.add("alex");
19         coll.add("Big data");
20         coll.add("yinzhengjie");
21         
22         System.out.println(coll);
23         
24         Collection coll2 = new ArrayList();
25         coll2.add("1");
26         coll2.add("2");
27         coll2.add("3");
28         System.out.println(coll2);
29         boolean res = coll.addAll(coll2);
30         System.out.println(res);
31         System.out.println(coll);
32     }
33 }
34 
35 
36 /*
37 以上代碼執行結果如下:
38 [yinzhengjie, alex, Big data, yinzhengjie]
39 [1, 2, 3]
40 true
41 [yinzhengjie, alex, Big data, yinzhengjie, 1, 2, 3]
42 */

8>.removeAll(Collection c)方法【刪除與傳入集合共有的元素】

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 
 7 package cn.org.yinzhengjie.demo;
 8 
 9 import java.util.ArrayList;
10 import java.util.Collection;
11 
12 public class CollectionDemo {
13     public static void main(String[] args) {
14         //接口多態的方式調用
15         Collection<String> coll = new ArrayList<String>();
16         //存儲數據
17         coll.add("yinzhengjie");
18         coll.add("alex");
19         coll.add("Big data");
20         coll.add("yinzhengjie");
21         
22         System.out.println(coll);
23         
24         Collection coll2 = new ArrayList();
25         coll2.add("yinzhengjie");
26         coll2.add("alex");
27         System.out.println(coll2);
28         boolean res = coll.removeAll(coll2);
29         System.out.println(res);
30         System.out.println(coll);
31     }
32 }
33 
34 
35 /*
36 以上代碼執行結果如下:
37 [yinzhengjie, alex, Big data, yinzhengjie]
38 [yinzhengjie, alex]
39 true
40 [Big data]
41 */

9>.containsAll(Collection c)【判斷一個集合是否包含另外一個集合】

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 
 7 package cn.org.yinzhengjie.demo;
 8 
 9 import java.util.ArrayList;
10 import java.util.Collection;
11 
12 public class CollectionDemo {
13     public static void main(String[] args) {
14         //接口多態的方式調用
15         Collection<String> coll = new ArrayList<String>();
16         //存儲數據
17         coll.add("yinzhengjie");
18         coll.add("alex");
19         coll.add("Big data");
20         coll.add("yinzhengjie");
21         
22         Collection coll2 = new ArrayList();
23         coll2.add("yinzhengjie");
24         coll2.add("alex");
25         System.out.println(coll2);
26         boolean res = coll.containsAll(coll2);
27         System.out.println(res);
28         System.out.println(coll);
29     }
30 }
31 
32 
33 /*
34 以上代碼執行結果如下:
35 [yinzhengjie, alex]
36 true
37 [yinzhengjie, alex, Big data, yinzhengjie]
38 */

10>.isEmpty()方法【判斷集合是否為空】

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:y1053419035@qq.com
 5 */
 6 
 7 package cn.org.yinzhengjie.demo;
 8 
 9 import java.util.ArrayList;
10 import java.util.Collection;
11 
12 public class CollectionDemo {
13     public static void main(String[] args) {
14         //接口多態的方式調用
15         Collection<String> coll = new ArrayList<String>();
16         //存儲數據
17         coll.add("yinzhengjie");
18         System.out.println(coll.isEmpty());
19 
20     }
21 }
22 
23 
24 /*
25 以上代碼執行結果如下:
26 false
27 */

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM