Java-collections总结

类Collections是一个包装类。它包含有各种有关集合操作的静态态方法。此类不能实例化,就像一个工具类,服务于Java的Collection框架。


java.lang.Object
        java.util.Collections

Collections中常用的方法:
(1)sort()排序方法
        函数定义:public static > void sort(List list) 根据元素的
        自然顺序对指定列表按升序进行排序。
        参数:要排序的列表。
        函数定义: public static void sort(List list,Comparator c),根据指定比较器产生的顺序对指定列表进行排序。此列表内的所有元素都必须可使用指定比较器相互比较。
        参数:list-要排序的列表;c-确定列表顺序的比较器。
(2)binarySearch()二分查找方法
        函数定义:public static int binarySearch(List> list,T key)
        使用二分搜索法搜索指定列表,以获得指定对象,在进行此方法调用前比较要将列表元素按照升序排序,否则结果不确定,此方法会执行O(n)次链接遍历和O(log n)次元素比较。
        参数: list-要搜索的链表,key-要搜索的键。
        函数定义: public static int binarySearch(List list, T key, Comparator c) 根据指定的比较器对列表进行升序排序。
        参数:list-要搜索的列表,key-要搜索的键,c-排序列表的比较器。
(3)reverse()反转方法
         函数定义:public static void reverse(List list),反转指定列表中元素的顺序,此方法以线性时间运行。
        参数:list-元素要被反转的列表
(4)shuffle()改组方法
       数定义:public static void shuffle(List list),使用默认随机源对指定列表进行置换,所有置换发生的可能性都是大致相等的。
        参数:list-要改组的列表
        函定义:public static void shuffle(List list,Random rnd),使用指定的随机源对指定列表进行置换。
    参数:list-要改组的列表,rnd-用来改组列表的随机源。
(5)swap()交换方法
        函数定义:public static void swap(List list,int i,int j),在指定列表的指定位置处交换元素。
        参数:list-进行元素交换的列表,i-要交换的一个元素的索引,j-要交换的另一个元素的索引。
(6)fill()替换方法
        函数定义:public static void fill(List list,T obj),使用指定元素替换指定列表中的所有元素,线性时间运行。
        参数:list-使用指定元素填充的列表,obj-用来填充指定列表的元素。
(7)copy()复制方法
        函数定义:public static void copy(List dest,List src),将所有元素从一个列表复制到另一个列表。执行此操作后,目标列表中每个已复制元素的索引将等同于源列表中该元素的索引,目标列表的长度至少必须等于源列表。
        参数:dest-目标列表,src-源列表。
(8)min()最小值法
        函数定义:public static > T min(Collection coll),根据元素的自然顺序返回给定Collection的最小元素,Collection中的所有元素必须实现Comparable接口,此外,collection中的所有元素都必须是可相互比较的。
        参数:coll-将确定其最小元素的collection。
        函数定义:public static min(Collection coll,Comparator comp),根据指定比较器产生的顺序,返回给定collection的最小元素。
        参数:coll-将确定其最小元素的collection,comp-用来确定最小元素的比较器。
(9)max()最大值方法
        函数定义:public static > T max(Collection coll),根据元素的自然顺序,返回给定collection的最大元素。
        参数:coll-将确定其最大元素的collection。
        函数定义:public static max(Collection coll,Comparator comp),根据指定比较器产生的顺序,返回给定collection的最大元素。
        参数:coll-将确定其最大元素的collection,comp-用来确定最大元素的比较器
(10)rotate()轮换方法
        函数定义:public static void rotate(List list,int distance),根据指定的距离轮转指定列表中的元素。
        参数:list-要轮换的列表,distance-列表轮换的距离,可以使0、负数或者大于list.size()的数。
(11)replaceAll()替换所有函数
        函数定义:public static boolean replaceAll(List list,T oldVal,T newVal),使用另一个值替换列表总出现的所有的某一指定值。
        参数:list-在其中进行替换的列表;oldVal-将被替换的原值;newVal-替换oldVald的新值。

示例代码:
public class Hello {
public static void main(String[] args) {
System.out.println("sort");
List list=new ArrayList();
double array[] = {112, 111, 23, 456, 231 };
for (int i = 0; i < array.length; i++) {
list.add(new Double(array[i]));
}
Collections.sort(list);//自然排序
for (int i = 0; i < array.length; i++) {
System.out.println(list.get(i));
}
System.out.println("shuffle");

Collections.shuffle(list);//置换
for (int i = 0; i < array.length; i++) {
System.out.println(list.get(i));
}
Collections.sort(list);//自然排序
System.out.println("reverse");
Collections. reverse (list);//反转
for (int i = 0; i < array.length; i++) {
System.out.println(list.get(i));
}
Collections.sort(list);//自然排序
System.out.println("copy");
List li = new ArrayList();
double arr[] = {1131,333};
for(int j=0;jlength;j++){
li.add(new Double(arr[j]));
}
Collections.copy(list,li);//拷贝
for (int i = 0; i ; i++) {
System.out.println(list.get(i));
}
System.out.println("min");
System.out.println(Collections.min(list));//返回最小值
System.out.println("max");
System.out.println(Collections.max(list));//返回最大值
System.out.println("rotate");
Collections.rotate(list,-1);//循环
for (int i = 0; i ; i++) {
System.out.println( list.get(i));
}
System.out.println("binarySearch");
Collections.sort(list);
System.out.println(list);
System.out.println(Collections.binarySearch(list, 333.0));//二分查找
}
}


以上是Collections比较常用的方法,Collections还有很多其他的方法,如下表:
方法摘要
static
boolean
addAll(Collection c, T... elements) 
          将所有指定元素添加到指定 collection 中。
static
Queue
asLifoQueue(Deque deque) 
          以后进先出 (Lifo) Queue 的形式返回某个 Deque 的视图。
static
int
binarySearch(List> list, T key) 
          使用二分搜索法搜索指定列表,以获得指定对象。
static
int
binarySearch(List list, T key, Comparator c) 
          使用二分搜索法搜索指定列表,以获得指定对象。
static
Collection
checkedCollection(Collection c, Class type) 
          返回指定 collection 的一个动态类型安全视图。
static
List
checkedList(List list, Class type) 
          返回指定列表的一个动态类型安全视图。
static
Map
checkedMap(Map m, Class keyType, Class valueType) 
          返回指定映射的一个动态类型安全视图。
static
Set
checkedSet(Set s, Class type) 
          返回指定 set 的一个动态类型安全视图。
static
SortedMap
checkedSortedMap(SortedMap m, Class keyType, Class valueType) 
          返回指定有序映射的一个动态类型安全视图。
static
SortedSet
checkedSortedSet(SortedSet s, Class type) 
          返回指定有序 set 的一个动态类型安全视图。
static
void
copy(List dest, List src) 
          将所有元素从一个列表复制到另一个列表。
static boolean disjoint(Collection c1, Collection c2) 
          如果两个指定 collection 中没有相同的元素,则返回 true
static
List
emptyList() 
          返回空的列表(不可变的)。
static
Map
emptyMap() 
          返回空的映射(不可变的)。
static
Set
emptySet() 
          返回空的 set(不可变的)。
static
Enumeration
enumeration(Collection c) 
          返回一个指定 collection 上的枚举。
static
void
fill(List list, T obj) 
          使用指定元素替换指定列表中的所有元素。
static int frequency(Collection c, Object o) 
          返回指定 collection 中等于指定对象的元素数。
static int indexOfSubList(List source, List target) 
          返回指定源列表中第一次出现指定目标列表的起始位置;如果没有出现这样的列表,则返回 -1。
static int lastIndexOfSubList(List source, List target) 
          返回指定源列表中最后一次出现指定目标列表的起始位置;如果没有出现这样的列表,则返回 -1。
static
ArrayList
list(Enumeration e) 
          返回一个数组列表,它按返回顺序包含指定枚举返回的元素。
static

T
max(Collection coll) 
          根据元素的自然顺序,返回给定 collection 的最大元素。
static
T
max(Collection coll, Comparator comp) 
          根据指定比较器产生的顺序,返回给定 collection 的最大元素。
static

T
min(Collection coll) 
          根据元素的自然顺序 返回给定 collection 的最小元素。
static
T
min(Collection coll, Comparator comp) 
          根据指定比较器产生的顺序,返回给定 collection 的最小元素。
static
List
nCopies(int n, T o) 
          返回由指定对象的 n 个副本组成的不可变列表。
static
Set
newSetFromMap(Map map) 
          返回指定映射支持的 set。
static
boolean
replaceAll(List list, T oldVal, T newVal) 
          使用另一个值替换列表中出现的所有某一指定值。
static void reverse(List list) 
          反转指定列表中元素的顺序。
static
Comparator
reverseOrder() 
          返回一个比较器,它强行逆转实现了 Comparable接口的对象 collection 的自然顺序
static
Comparator
reverseOrder(Comparator cmp) 
          返回一个比较器,它强行逆转指定比较器的顺序。
static void rotate(List list, int distance) 
          根据指定的距离轮换指定列表中的元素。
static void shuffle(List list) 
          使用默认随机源对指定列表进行置换。
static void shuffle(List list, Random rnd) 
          使用指定的随机源对指定列表进行置换。
static
Set
singleton(T o) 
          返回一个只包含指定对象的不可变 set。
static
List
singletonList(T o) 
          返回一个只包含指定对象的不可变列表。
static
Map
singletonMap(K key, V value) 
          返回一个不可变的映射,它只将指定键映射到指定值。
static

void
sort(List list) 
          根据元素的自然顺序 对指定列表按升序进行排序。
static
void
sort(List list, Comparator c) 
          根据指定比较器产生的顺序对指定列表进行排序。
static void swap(List list, int i, int j) 
          在指定列表的指定位置处交换元素。
static
Collection
synchronizedCollection(Collection c) 
          返回指定 collection 支持的同步(线程安全的)collection。
static
List
synchronizedList(List list) 
          返回指定列表支持的同步(线程安全的)列表。
static
Map
synchronizedMap(Map m) 
          返回由指定映射支持的同步(线程安全的)映射。
static
Set
synchronizedSet(Set s) 
          返回指定 set 支持的同步(线程安全的)set。
static
SortedMap
synchronizedSortedMap(SortedMap m) 
          返回指定有序映射支持的同步(线程安全的)有序映射。
static
SortedSet
synchronizedSortedSet(SortedSet s) 
          返回指定有序 set 支持的同步(线程安全的)有序 set。
static
Collection
unmodifiableCollection(Collection c) 
          返回指定 collection 的不可修改视图。
static
List
unmodifiableList(List list) 
          返回指定列表的不可修改视图。
static
Map
unmodifiableMap(Map m) 
          返回指定映射的不可修改视图。
static
Set
unmodifiableSet(Set s) 
          返回指定 set 的不可修改视图。
static
SortedMap
unmodifiableSortedMap(SortedMap m) 
          返回指定有序映射的不可修改视图。
static
SortedSet
unmodifiableSortedSet(SortedSet s) 
          返回指定有序 set 的不可修改视图。


    

你可能感兴趣的:(Java-collections总结)