Collections工具类
总结于尚硅谷学习视频
CollectionsTest类
package com.day0309_1; import org.junit.jupiter.api.Test; import java.util.*; /** * Collections:操作Collection和Map的工具类 * * 面试题:Collection和Collections的区别? * * */ public class CollectionsTest { /* * reverse(list):反转List中元素的顺序 * shuffle(list):对List集合元素进行随机排序 * sort(List):根据元素的自然顺序对指定List集合元素按升序排序 * sort(List, Comparator):根据指定的Comparator产生的顺序对List集合元素进行排序 * swap(list, int, int):将指定list集合中的i处元素和j处元素进行交换 * Object max(Collection):根据元素的自然顺序,返回给定集合中的最大元素 * Object max(Collection, Comparator):根据Comparator指定的顺序,返回给定集合中的 object min(Collection) * Object min(Collection, Comparator) * int frequency(Collection, object):返回指定集合中指定元素的出现次数 * void copy(list dest,List src):将src中的内容复制到dest中 * boolean replaceAll(list list, Object oldVal, object newVal): */ @Test public void test2(){ List list=new ArrayList(); list.add(123); list.add(43); list.add(765); list.add(-97); list.add(0); //报异常 IndexOutOfBoundsException("Source does not fit in dest"); // List dest=new ArrayList(); // Collections.copy(dest,list); List dest=Arrays.asList(new Object[list.size()]); System.out.println(dest.size());//List.size() Collections.copy(dest,list); System.out.println(dest); /* Collections 类中提供了多个synchronizedXxx()方法, 该方法可将指定的集合包装成线程同步的集合,从而可以解决 多线程并发访问集合的线程安全问题 */ //返回的list1即为线程安全的list List list1=Collections.synchronizedList(list); } @Test public void test1(){ List list=new ArrayList(); list.add(123); list.add(43); list.add(765); list.add(765); list.add(765); list.add(-97); list.add(0); System.out.println(list); // Collections.reverse(list); // Collections.shuffle(list); // Collections.swap(list,1,2); int frequency = Collections.frequency(list,765); System.out.println(list); System.out.println(frequency); } }