面试题:Collection 和 Collections的区别?
package com.atguigu.java;
import org.junit.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
* Collections:操作Collection、Map的工具类
*
*
*
* 面试题:Collection和Collections的区别?·
*
*
* @author Dxkstart
* @create 2021-05-23 19:59
*/
public class CollectionsTest {
@Test
public void test1(){
//1.reverse(list):反转list中元素的顺序
ArrayList list = new ArrayList();
list.add(123);
list.add(123);
list.add(123);
list.add(12);
list.add(13);
list.add(23);
System.out.println(list);
Collections.reverse(list);//反转
//2.shuffle(list):对list集合元素进行随机排序
Collections.shuffle(list);//随机化
System.out.println(list);
//3.sort(list):根据元素的自然顺序对指定list集合元素按升序排序
Collections.sort(list);
System.out.println(list);
//4.swap(list,int,int):将指定list集合中的 i 处元素和 j 处元素进行交换
Collections.swap(list,2,3);//交换2,3处的元素
System.out.println(list);
//5.int frequency(Collection,Object):返回指定集合中指定元素的出现次数
int frequency = Collections.frequency(list, 123);
System.out.println(frequency);
System.out.println("*****************************");
//6.void copy(list dest,list src):将src中的内容复制到dest中
ArrayList list1 = new ArrayList();
list1.add(333);
list1.add(33);
list1.add(3);
// ArrayList list2 = new ArrayList();
// list2.add(555);
// list2.add(55);
// list2.add(5);
//
// Collections.copy(list1,list2);
// System.out.println(list1);
// System.out.println(list2);
//正规化的
List dest = Arrays.asList(new Object[list1.size()]);
System.out.println(dest.size());
Collections.copy(dest,list1);
System.out.println(list1);
}
/*
Collections 类中提供了多个synchronizedXxx()方法,
该方法可使指定集合包装成线程同步的集合,从而可以解决
多线程并发访问集合时的线程安全问题
*/
}