Collection和Collections之间的使用与区别
1.Collection詳解
2.Collections詳解
3.Collection和Collections的區別
1.Collection詳解
1.1Collection簡介
java.util.Collection.Collection是所有單列集合(一次存一個元素,是單列集合)的父接口,因此定義了單列集合(List和Set)通用的一些方法,這些方法適用于所有的單列集合
Collection集合主要有List和Set兩大接口
List:有序(元素存入集合的順序和取出的順序一致),元素都有索引。元素可以重復。
Set:無序(存入和取出順序有可能不一致),不可以存儲重復元素。必須保證元素唯一性。
1.2Collection子類常用共性方法
| public boolean add(E e) | 把給定的元素添加到當前的集合中 |
| public void clear() | 清空集合中的所有元素 |
| public boolean remove(E e) | 把給定的元素在當前的集合里邊刪除 |
| public boolean contains(E e) | 判斷當前集合中是否包含指定對象 |
| public boolean isEmpty() | 判斷當前元素是否為空 |
| public int size() | 返回集合中的元素個數 |
| public Object[] toArray() | 把集合中元素,存儲到數組中 |
下面我們拿它的子集合Arraylist舉例:
package untl; import java.util.ArrayList; import java.util.Collection; public class MyCollection {public static void main(String[] args) {Collection<String> collection=new ArrayList();for (int i=0;i<5;i++){collection.add("張"+(i+1));}System.out.println(collection);System.out.println("----------------測試remove方法-----------------------");collection.remove("張1");System.out.println(collection);collection.remove("王五");System.out.println(collection);System.out.println("----------------測試contains方法-----------------------");boolean bool=collection.contains("張5");System.out.println(bool);bool=collection.contains("王五");System.out.println(collection);System.out.println("-----------------測試isEmpty方法----------------------");bool=collection.isEmpty();System.out.println(bool);System.out.println("-----------------測試size方法----------------------");int len=collection.size();System.out.println(len);System.out.println("-----------------測試toArray方法----------------------");Object arr[]= collection.toArray();for (Object a:arr) {System.out.println(a);}System.out.println("-----------------測試clear方法----------------------");collection.clear();System.out.println(collection);} } 運行結果: [張1, 張2, 張3, 張4, 張5] ----------------測試remove方法----------------------- [張2, 張3, 張4, 張5] [張2, 張3, 張4, 張5] ----------------測試contains方法----------------------- true [張2, 張3, 張4, 張5] -----------------測試isEmpty方法---------------------- false -----------------測試size方法---------------------- 4 -----------------測試toArray方法---------------------- 張2 張3 張4 張5 -----------------測試clear方法---------------------- []Process finished with exit code 02.Collections詳解
2.1Collections簡介:
Java提供了一個操作Set、List和Map等集合的工具類:Collections,該工具類里
提供了大量方法對集合元素 進行排序、查詢和修改 等操作,還提供了 對集合對象實現
同步控制 等方法。這個類不需要創建對象,內部提供的都是靜態方法:
2.2常用方法:
| public static boolean addAll(Collection c, T… elements) | 往集合中添加一些元素。 |
| public static void shuffle(List<?> list) | 打亂集合順序。 |
| public static void sort(List list) | 將集合中元素按照默認規則排序。 |
| public static void sort(List list,Comparator<? super T> ) | 將集合中元素按照指定規則排序。 |
使用例子:
package untl; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class MyCollections {public static void main(String[] args) {List<String> list=new ArrayList<>();Collections.addAll(list,"bbb","aaa","ccc");System.out.println(list);Collections.sort(list);System.out.println(list);Collections.shuffle(list);System.out.println(list);Collections.sort(list, new Comparator<String>() {@Overridepublic int compare(String o1, String o2) {return o2.charAt(0)-o1.charAt(0);//按照第一個字母降序排列}});System.out.println(list);} } 運行結果: [bbb, aaa, ccc] [aaa, bbb, ccc] [aaa, ccc, bbb](由于這個是打亂后的所以不固定) [ccc, bbb, aaa]3.Collection和Collections的區別
1.Collections是個java.util下的類,是針對集合類的一個工具類,提供一系列靜態方法,實現對集合的查找、排序、替換、線程安全化(將非同步的集合轉換成同步的)等操作。
2.Collection是個java.util下的接口,它是各種集合結構的父接口,繼承于它的接口主要有Set和List,提供了關于集合的一些操作,如插入、刪除、判斷一個元素是否其成員、遍歷等。
總結
以上是生活随笔為你收集整理的Collection和Collections之间的使用与区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Comparable接口和Compara
- 下一篇: Iterator和ListIterato