1、disjoint(Collection<?> c1,Collection<?> c2);
比较集合c1和集合c2之间有没有共同的元素,有就返回true,反之返回false
public class CollectionsDome3 {
public static void main(String[] args) {
ArrayList<Integer> c1 = new ArrayList<Integer>(Arrays.asList(2,4,6,8,9,6));
ArrayList<Integer> c2 = new ArrayList<Integer>(Arrays.asList(1));
boolean flge = Collections.disjoint(c1 , c2);
System.out.println(flge); //输出的是true
}
}
2、addAll(Collection<? super T> c,T...a)
将指定集合添加到集合c中,T...a表示可变参数,a相当于数组
public class CollectionsDome3 {
public static void main(String[] args) {
ArrayList<Integer> c1 = new ArrayList<Integer>(Arrays.asList(2,4,6,8,9,6));
Collections.addAll(c1,2,3,5,7,8,9);
System.out.println(c1);
}
}3、copy(List m,List n)
将n中元素赋值到m中。
public class CollectionsDome3 {
public static void main(String[] args) {
ArrayList<Integer> c1 = new ArrayList<Integer>(Arrays.asList(2,4,6,8,9,6));
ArrayList<Integer> c2 = new ArrayList<Integer>(Arrays.asList(1));
Collections.copy(c1,c2);//将c2的值赋值给c1,从首尾开始覆盖 c2.size()<=c1.size()
System.out.println(c1);//[1, 4, 6, 8, 9, 6]
System.out.println(c2);//[1]
}
}4、checkedXxx()
查看这个集合是不是Xxx集合类型。
例如: checkedCollection(Collection c,class o.class)
c、表示在运行时为其获取类型安全视图的集合。o、表示允许给定集合存储的元素类型。
这个命令是为了返回指定集合的动态安全视图
以下其他方法创建方式和这个相同
public class CollectionsDome3 {
public static void main(String[] args) {
Collection c3=new ArrayList();
c3.add(1);
c3.add("df");
Collection<Student> strings = Collections.checkedCollection(c3 ,Integer.class);
c3.add("dddd");
System.out.println(c3);//[1, df, dddd]
System.out.println(strings);//[1, df, dddd] strings集合不可以改变
}
}| checked | 解释 |
| checkedList(List c,class o.class) | List集合,返回动态安全视图 |
| checkedMap(Mapn c,class o.class) | Map集合,返回动态安全视图 |
| checkedNavigableMap(NavigableMap c,class o.class) | NavigableMap集合,返回动态安全视图 |
| checkedNavigableSet(NavigableSet c,class o.class) | NavigableSet集合,返回动态安全视图 |
| checkedQueue(Queue c,class o.class) | Queue集合,返回动态安全视图 |
| checkedSet(Set c,class o.class) | Set集合,返回动态安全视图 |
| checkedSortedMap(SortedMap c,class o.class) | SortedMap集合,返回动态安全视图 |
| checkedSortedSet(SortedSet c,class o.class) | SortedSet集合,返回动态安全视图 |
5、asLifoQueue(Deque deque);
将双端队列(先进先出,队列满,则首段优先退出)表示为Lifo队列(LIFO表示后进先出)
public class CollectionsDome3 {
public static void main(String[] args) {
Deque<Integer> queue=new ArrayDeque<Integer>();//双端队列,先进先出
queue.add(1);queue.add(2);
System.out.println(queue);//输出[1,2]
// Deque转换成Queue队列
Queue<Integer> i = Collections.asLifoQueue(queue);//Lifo队列,先进后出
System.out.println(i);
}
}6、list(Enumeration en);
返回一个数组,该列表包含给定Enumeration (枚举)返回的所有元素,以及将这些元素按枚举返回的顺序存储在ArrayList中的方法。
package cn.cm;
import java.util.*;
public class Peal {
public static void main(String args[]) {
// Instantiate an ArrayList and
// Stack object
List arr_l = new ArrayList();
Stack st = new Stack();//栈队列,后进先出
// By using push() method is
// to add elements in stack
st.push(10);//存入元素
st.push(20);
st.push(30);
st.push(40);
st.push(50);
System.out.println(st.pop());//输出50,拿出这个元素,集合中就没有这个元素了
System.out.println(st.pop());//输出40,拿出这个元素,集合中就没有这个元素了
System.out.println(st.pop());//输出30,拿出这个元素,集合中就没有这个元素了
System.out.println(st);//st集合中只剩下【10,20】
// Get elements in an enumeration object
Enumeration en = st.elements();// 创建枚举类型对象
System.out.println(en.nextElement());//拿出1个元素10
// By using list() method is to
// return the array list of the
// given enumeration object
ArrayList arr_1 = Collections.list(en);// 将en枚举剩下的元素的返回元素存在arr_1中
//只剩下[20]
System.out.println("Collections.list(en): " + arr_1);//输出[20]
}
}7、singleton(),singletonMap()、singletonList()
这些都是单列模式,只有一个元素。
通过Collection.singleton(sc)创建一个单列模式元素,依次是Set型,Map型,List型。
public class Sidjsn extends Student {
public static void main(String[] args) {
List sc=new ArrayList(Arrays.asList(1,2,4,5));
List sc1=new ArrayList(Arrays.asList(1,2,4,6));
Set<List> s = Collections.singleton(sc);
System.out.println(s); // [[1, 2, 4, 5]]
// s.add(sc); 赋值不了,s只是一个单例模式,只能有一个元素
List<List> s1 = Collections.singletonList(sc);
System.out.println(s1);// [[1, 2, 4, 5]]
Map<Integer, List> s2 = Collections.singletonMap(1 , sc);
System.out.println(s2);// System.out.println(s2);//
System.out.println(sc); // [1, 2, 4, 5]
}
}