Collections 操作于容器的工具类
sort(List)
对 List 容器内的元素排序,按照升序进行排序。
对自定义类中元素排序需要重写排序方法
List<String> list = new ArrayList();
list.add("一");
list.add("二");
list.add("三");
list.add("四");
Collections.sort(list);
System.out.println(list);//[一, 三, 二, 四]//[19977,19968, 20108, 22235]
shuffle(List)
对 List 容器内的元素进行随机排列
// void shuffle(List) //对 List 容器内的元素进行随机排列
List<String> list = new ArrayList();
list.add("一");
list.add("二");
list.add("三");
list.add("四");
Collections.shuffle(list);
System.out.println(list);// [二, 四, 三, 一]//[一, 三, 二, 四]//每次随机
reverse(List)
对 List 容器内的元素进行逆序排列
// void reverse(List) //对 List 容器内的元素进行逆续排列 void fill(List, Object)
List<Integer> list = new ArrayList();
list.add(55);
list.add(66);
list.add(22);
list.add(33);
System.out.println(list);//[55, 66, 22, 33]
Collections.reverse(list);
System.out.println(list);//[33, 22, 66, 55]
fill(List, Object)
用一个特定的对象重写整个 List 容器
//用一个特定的对象重写整个 List 容器
List<Integer> list = new ArrayList();
list.add(55);
list.add(66);
list.add(22);
list.add(33);
Collections.fill(list, 888);
System.out.println(list);//[888, 888, 888, 888]
binarySearch(List, Object)
采用折半查找的方法查找特定对象
//binarySearch(List,Object)//采用折半查找的方法查找特定对象
List<Integer> list = new ArrayList();
list.add(55);
list.add(66);
list.add(22);
list.add(33);
System.out.println(Collections.binarySearch(list, 66));//1
方法:
add(E e)
添加元素
addAll(Collection<? extends E> c)
将指定 collection 中的所有元素都添加到此 collection 中(可选操作)。
clear()
移除此 collection 中的所有元素(可选操作)。
Collection collection = new ArrayList();
collection.add('a');
collection.add("b");
collection.add("c");
System.out.println(collection);//[a, b, c]
collection.clear();
System.out.println(collection);//[]
contains(Object o)
如果此 collection 包含指定的元素,则返回 true。
Collection c = new ArrayList();
c.add('a');
c.add('b');
c.add('c');
System.out.println(c.contains('b'));//true
containsAll(Collection<?> c)
如果此 collection 包含指定 collection 中的所有元素,则返回 true。
// An highlighted block
var foo = 'bar';
Collection c = new ArrayList();
c.add('a');
c.add('b');
c.add('c');
Collection c2 = new ArrayList();
c2.add('a');
c2.add('b');
System.out.println(c.containsAll(c2));//true
equals(Object o)
比较此 collection 与指定对象是否相等。
Collection c = new ArrayList();
c.add('a');
c.add('b');
c.add('c');
Collection c2 = new ArrayList();
c2.add('a');
c2.add('b');
System.out.println(c.equals(c2));//false
hashCode()
返回此 collection 的哈希码值。
Collection c = new ArrayList();
c.add('a');
c.add('b');
c.add('c');
Collection c2 = new ArrayList();
c2.add('a');
c2.add('b');
System.out.println(c.hashCode());//126145
System.out.println(c2.hashCode());//4066
isEmpty()
如果此 collection 不包含元素,则返回 true。
Collection c = new ArrayList();
c.add('a');
c.add('b');
c.add('c');
System.out.println(c.isEmpty());//false
iterator()
返回在此 collection 的元素上进行迭代的迭代器
iterator中的方法
boolean iterator .hasNext()
如果仍有元素可以迭代,则返回 true。
E iterator .next()
返回迭代的下一个元素。
void iterator .remove()
从迭代器指向的 collection 中移除迭代器返回的最后一个元素(可选操作)。
Collection c = new ArrayList();
c.add("a");
c.add("b");
c.add("c");
System.out.println(c);//[a, b, c]
//迭代器
Iterator<String> it=c.iterator();
while(it.hasNext()){
System.out.print(it.next());//abc
}
it.remove();
System.out.println(c);//[a, b]
remove(Object o)
从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。
removeAll(Collection<?> c)
移除此 collection 中那些也包含在指定 collection 中的所有元素(可选操作)。
Collection c = new ArrayList();
c.add("a");
c.add("b");
c.add("c");
c.add("d");
Collection c2 = new ArrayList();//[b, c]
c2.add("b");
c2.add("c");
System.out.println(c);// [a, b, c, d]
c.remove("a");
System.out.println(c);// [b, c, d]
c.removeAll(c2);
System.out.println(c);// [d]
retainAll(Collection<?> c)
仅保留此 collection 中那些也包含在指定 collection 的元素(可选操作)。
Collection c = new ArrayList();
c.add("a");
c.add("b");
c.add("c");
c.add("d");
Collection c2 = new ArrayList();//[b, c]
c2.add("b");
c2.add("c");
System.out.println(c);// [a, b, c, d]
c.retainAll(c2);//true
System.out.println(c);// [b,c]
size()
返回此 collection 中的元素数。
Collection c = new ArrayList();
c.add("a");
c.add("b");
c.add("c");
c.add("d");
System.out.println(c.size());//4
toArray()
返回包含此 collection 中所有元素的数组。
toArray(T[] a)
返回包含此 collection 中所有元素的数组;返回数组的运行时类型与指定数组的运行时类型相同
Collection c = new ArrayList();
c.add("a");
c.add("b");
c.add("c");
c.add("d");
System.out.println(c);//[a, b, c, d]//系统默认重写了toString方法
c.toArray();//[a, b, c, d]