集合框架-Collections
2:Collections(理解)
(1)是針對集合進行操作的工具類
(2)面試題:Collection和Collections的區別
A:Collection 是單列集合的頂層介面,有兩個子介面List和Set
B:Collections 是針對集合進行操作的工具類,可以對集合進行排序和查詢等
(3)常見的幾個小方法:
A:public static <T> void sort(List<T> list) 排序 預設情況下是自然順序
B:public static <T> int binarySearch(List<?> list,T key) 二分查詢
C:public static <T> T max(Collection<?> coll) 最大值
D:public static void reverse(List<?> list) 反轉
E:public static void shuffle(List<?> list) 隨機置換
package cn.itcast_01;
import java.util.Collections;
import java.util.List;
import java.util.ArrayList;
/*
* Collections:是針對集合進行操作的工具類,都是靜態方法。
*
* 面試題:
* Collection和Collections的區別?
* Collection:是單列集合的頂層介面,有子介面List和Set。
* Collections:是針對集合操作的工具類,有對集合進行排序和二分查詢的方法
*
* 要知道的方法
* public static <T> void sort(List<T> list):排序 預設情況下是自然順序。
* public static <T> int binarySearch(List<?> list,T key):二分查詢
* public static <T> T max(Collection<?> coll):最大值
* public static void reverse(List<?> list):反轉
* public static void shuffle(List<?> list):隨機置換
*/
public class CollectionsDemo {
public static void main(String[] args) {
// 建立集合物件
List<Integer> list = new ArrayList<Integer>();
// 新增元素
list.add(30);
list.add(20);
list.add(50);
list.add(10);
list.add(40);
System.out.println("list:" + list);// [30, 20, 50, 10, 40]
// public static <T> void sort(List<T> list):排序 預設情況下是自然順序,即實現了自然排序的介面.
Collections.sort(list);
System.out.println("list:" + list);// [10, 20, 30, 40, 50]
// public static <T> int binarySearch(List<?> list,Tkey):二分查詢,二分查詢之前要先排序
System.out.println("binarySearch:" + Collections.binarySearch(list, 30));//2
System.out.println("binarySearch:"+ Collections.binarySearch(list, 300));//-6 找不到的時候是最大索引加1
// public static <T> T max(Collection<?> coll):最大值
System.out.println("max:"+Collections.max(list));//50
// public static void reverse(List<?> list):反轉
Collections.reverse(list);
System.out.println("list:" + list);
//public static void shuffle(List<?> list):隨機置換
Collections.shuffle(list);
System.out.println("list:" + list);
}
}
補充:
List<String> allList = Collections.emptyList();// 返回空的List集合
使用Collections.emptyList(),返回一個空的List,但是發現它不支援Add功能,呼叫Add會丟擲unsupportedException,
在以後要返回一個空的List,並還需要後續操作時,不能使用Collections.emptyList()方法,
看文件發現,List的實現類都有自己的實現,而返回的EmptyList的實現沒有實現add(int index, E element)方法,使用了
AbstractList.add(int index, E element){
throw new UnsupportedOperationException();}
參考:http://www.cnblogs.com/baiduligang/p/4247683.html
相關文章
- 【集合框架】JDK1.8原始碼分析之Collections && Arrays(十)框架JDK原始碼
- Java 集合類——Collections(1)Java
- Java 集合類——Collections(3)Java
- Java 集合類——Collections(2)Java
- 7、Collections集合工具類
- Java —— 集合工具類(Collections 類)Java
- 【Java學習筆記】Collections集合Java筆記
- 工具類——自定義Collections集合方法
- 【集合框架】Java集合框架綜述框架Java
- 集合框架-TreeMap集合框架
- 集合框架-Set集合框架
- 集合框架-TreeSet集合框架
- 集合框架-Collection集合框架
- 集合框架-List集合框架
- 集合框架框架
- 集合框架-集合總結框架
- 集合框架-List集合-2框架
- 集合框架-List集合-3框架
- 集合框架-Collection集合-2框架
- 集合框架-Collection集合-3框架
- ☕【Java技術指南】「Guava Collections」實戰使用相關Guava不一般的集合框架JavaGuava框架
- java.util.Collection集合方法:Collections.BinarySearch 方法Java
- 集合框架-Map集合功能概述框架
- 集合框架-HashMap集合的案例框架HashMap
- Java集合(1)一 集合框架Java框架
- 集合框架-Collection集合總結框架
- Java集合框架系列教程一:集合框架簡介Java框架
- Java 集合框架Java框架
- java集合框架Java框架
- 集合框架-Map集合的遍歷框架
- 集合框架-增強for框架
- 10.集合框架框架
- 【Java集合原始碼剖析】Java集合框架Java原始碼框架
- 集合框架-集合的巢狀遍歷框架巢狀
- 【JAVA集合】JAVA集合框架及其常用方法Java框架
- 『政善治』Postman工具 — 7、Postman中儲存請求(Collections集合)Postman
- 「譯」Java集合框架系列教程二:集合介面Java框架
- JAVA集合框架 - Map介面Java框架