import org.junit.Test;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class CollectionsTest {
@Test
public void test1(){
List list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
System.out.println(list);//[1, 2, 3, 4, 5]
//reverse(List):反转
Collections.reverse(list);
System.out.println(list);//[5, 4, 3, 2, 1]
//shuffle(List):对list进行随机排序
Collections.shuffle(list);
System.out.println(list);
//sort(List,Comparator):根据指定的Comparator产生的顺序对List集合进行排序
Collections.sort(list);//默认调用Integer的Comparator
System.out.println(list);//[1, 2, 3, 4, 5]
//swap(List,int,int)
Collections.swap(list,0,1);
System.out.println(list);//[2, 1, 3, 4, 5]
//Object max(Collection):根据元素的自然顺序,返回给定集合中的最大元素
//Object max(Collection,Comparator):根据Comparator指定的顺序,返回给定集合中的最大元素
//Object min(Collection)
//Object min(Collection,Comparator)
Comparable max = Collections.max(list);
System.out.println(max);//5
//int frequency(Collection,Object):返回集合中指定元素的出现次数
list.add(1);
list.add(1);
int appearTime = Collections.frequency(list, 1);
System.out.println(appearTime);//3
//void copy(List dest,List src):将src中的内容复制到dest中
//List dest = new ArrayList();这样声明会报异常
List dest = Arrays.asList(new Object[list.size()]);
Collections.copy(dest,list);
System.out.println(dest);//[2, 1, 3, 4, 5, 1, 1]
/*Collections类中提供了多个synchronizedXxx()方法
* 该方法可将指定集合包装成线程同步的集合
* 从而解决多线程并发访问集合时的线程安全问题
*
* */
List list1 = Collections.synchronizedList(list);//返回的list1即为线程安全的集合
}
}
Collections工具类(操作Collection和Map的工具类)
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 集合框架概述 1.集合、数组都是对多个数据进行存储操作的结构,简称java容器此时的存储,主要指的是内存层面的存储...
- 转载请注明出处:https://www.jianshu.com/p/a5dbe136c061 1.Map集合概述和...
- 集合:集合是java中提供的一种容器,可以用来存储多个数据。 集合和数组既然都是容器,它们有啥区别呢? 数组的长度...
- 简述list接口的特点 元素存取有序集合 带有索引的集合 可以有重复的元素可以通过equals来比较是否有重复的元...
- Collections Collections 工具类常用方法: 排序 查找,替换操作 同步控制(不推荐,需要线程...