目录
1.static void reverse(List list) :
2.static void shuffle(List list) :
3.static void sort(List list) :
4.static void sort(List list, Comparator c) :
5.static void swap(List list, int i, int j) :
6.static T max(Collection coll) :
7.static T min(Collection coll) :
8.static int frequency(Collection c, Object o) :
9.static void copy(List dest, List src) :
10.static boolean replaceAll(List list, T oldVal, T newVal) :
一、前言
大家好,本篇博文是对java集合篇章之Collections类的内容分享。
注意 : ①代码中的注释也很重要;②不要眼高手低,自己跟着敲一遍代码才有收获;③点击文章的侧边栏目录或者文章开头的目录可以进行跳转。良工不示人以朴,所有文章都会适时补充完善。大家如果有问题都可以在评论区进行交流或者私信up。感谢阅读!
二、Collections类简介
Collections类是java提供的一个操作List,Set和Map等集合的工具类。Collections类中提供了一系列操作集合的静态方法,使用这些方法可以实现对集合元素的排序、查询、修改等操作。
Collections类位于java.base模块,java.util包下,如下图所示 :
再来看一下Collections类的类图,如下 :
三、Collections类常用方法演示
1.static void reverse(List<?> list) :
该方法可以对当前List集合中的元素进行反转,颠倒集合中元素的顺序。
Δ代码演示 :
up以Collections_Demo类为演示类,代码如下 :
packagecsdn.knowledge.api_tools.gather.collections; importjava.util.ArrayList; importjava.util.Collections; importjava.util.List; /*** @author : Cyan_RA9* @version : 21.0*/publicclassCollections_Demo { publicstaticvoidmain(String[] args) { //演示 : Collections类常用方法Listlist=newArrayList(); list.add(141); list.add(233); list.add(666); list.add(211); list.add(11); list.add(985); list.add(24); list.add(5); System.out.println("当前集合 = "+list); //1.static void reverse(List<?> list) : 反转List集合中元素的顺序Collections.reverse(list); System.out.println("反转后的集合 = "+list); } }
运行结果 :
2.static void shuffle(List<?> list) :
该方法可以对当前List集合进行“洗牌”,对List集合元素进行随机排序,且每次“洗牌”都是随机的。
Δ代码演示 :
仍然以Collections_Demo类为演示类,代码如下 :
packagecsdn.knowledge.api_tools.gather.collections; importjava.util.ArrayList; importjava.util.Collections; importjava.util.List; publicclassCollections_Demo { publicstaticvoidmain(String[] args) { //演示 : Collections类常用方法Listlist=newArrayList(); list.add("Cyan"); list.add("RA9"); list.add("CSDN YYDS"); list.add("Ice"); list.add("Bob"); list.add("Kyrie"); list.add("Irving"); System.out.println("当前集合 = "+list); //2.static void shuffle(List<?> list) : “洗牌”Collections.shuffle(list); System.out.println("洗牌后的集合 = "+list); Collections.shuffle(list); System.out.println("洗牌后的集合 = "+list); Collections.shuffle(list); System.out.println("洗牌后的集合 = "+list); } }
运行结果 :
3.static void sort(List<T> list) :
该方法可以根据元素的自然顺序对指定的List集合进行升序排序。
Δ代码演示 :
仍然以Collections_Demo类为演示类,代码如下 :
packagecsdn.knowledge.api_tools.gather.collections; importjava.util.ArrayList; importjava.util.Collections; importjava.util.List; publicclassCollections_Demo { publicstaticvoidmain(String[] args) { //演示 : Collections类常用方法Listlist=newArrayList(); list.add(141); list.add(233); list.add(666); list.add(211); list.add(11); list.add(985); list.add(24); list.add(5); System.out.println("当前集合 = "+list); //3.static void sort(List<T> list) : 升序排序Collections.sort(list); System.out.println("排序后的集合 = "+list); } }
运行结果 :
4.static <T> void sort(List<T> list, Comparator<? super T> c) :
该方法可以根据指定的Comparator指定的顺序对指定的List集合进行升序排序。
Δ代码演示 :
仍然以Collections_Demo类为演示类,我们可以通过在匿名内部类中重写compare方法,更改排序的规则,比如说我们可以令List集合降序排列。代码如下 :
packagecsdn.knowledge.api_tools.gather.collections; importjava.util.ArrayList; importjava.util.Collections; importjava.util.Comparator; importjava.util.List; publicclassCollections_Demo { publicstaticvoidmain(String[] args) { //演示 : Collections类常用方法Listlist=newArrayList(); list.add(141); list.add(233); list.add(666); list.add(211); list.add(11); list.add(985); list.add(24); list.add(5); System.out.println("当前集合 = "+list); //4.static <T> void sort(List<T> list, Comparator<? super T> c) : 指定排序Collections.sort(list, newComparator<Object>() { publicintcompare(Objecto1, Objecto2) { if (o1instanceofInteger&&o2instanceofInteger) return (Integer)o2- (Integer)o1; return-1; } }); System.out.println("排序后的集合 = "+list); } }
运行结果 :
5.static void swap(List<?> list, int i, int j) :
该方法可以将指定List集合中的i元素和j元素进行交换。
Δ代码演示 :
仍然以Collections_Demo类为演示类,代码如下 :
packagecsdn.knowledge.api_tools.gather.collections; importjava.util.ArrayList; importjava.util.Collections; importjava.util.List; publicclassCollections_Demo { publicstaticvoidmain(String[] args) { //演示 : Collections类常用方法Listlist=newArrayList(); list.add(141); list.add(233); list.add(666); list.add(211); list.add(11); list.add(985); list.add(24); list.add(5); System.out.println("当前集合 = "+list); //5.static void swap(List<?> list, int i, int j) : 指向元素进行交换Collections.swap(list, 0, list.size() -1); System.out.println("交换元素后的集合 = "+list); } }
运行结果 :
6.static T max(Collection<? extends T> coll) :
该方法可以根据元素的自然顺序,获取集合中的最大值。
Δ代码演示 :
仍然以Collections_Demo类为演示类,代码如下 :
packagecsdn.knowledge.api_tools.gather.collections; importjava.util.ArrayList; importjava.util.Collections; importjava.util.List; publicclassCollections_Demo { publicstaticvoidmain(String[] args) { //演示 : Collections类常用方法Listlist=newArrayList(); list.add(141); list.add(233); list.add(666); list.add(211); list.add(11); list.add(985); list.add(24); list.add(5); System.out.println("当前集合 = "+list); //6.static T max(Collection<? extends T> coll) : 获取集合中的最大值intmax= (int) Collections.max(list); System.out.println("当前集合中最大的元素 = "+max); } }
运行结果 :
7.static T min(Collection<? extends T> coll) :
该方法可以根据元素的自然顺序,获取集合中的最小值。
Δ代码演示 :
仍然以Collections_Demo类为演示类,代码如下 :
packagecsdn.knowledge.api_tools.gather.collections; importjava.util.ArrayList; importjava.util.Collections; importjava.util.List; publicclassCollections_Demo { publicstaticvoidmain(String[] args) { //演示 : Collections类常用方法Listlist=newArrayList(); list.add(141); list.add(233); list.add(666); list.add(211); list.add(11); list.add(985); list.add(24); list.add(5); System.out.println("当前集合 = "+list); //7.static T min(Collection<? extends T> coll) : 获取集合中的最小值intmin= (int) Collections.min(list); System.out.println("当前集合中最大的元素 = "+min); } }
运行结果 :
8.static int frequency(Collection<?> c, Object o) :
该方法可以返回指定元素在指定集合中一共出现的次数。
Δ代码演示 :
仍然以Collections_Demo类为演示类,代码如下 :
packagecsdn.knowledge.api_tools.gather.collections; importjava.util.ArrayList; importjava.util.Collections; importjava.util.List; publicclassCollections_Demo { publicstaticvoidmain(String[] args) { //演示 : Collections类常用方法Listlist=newArrayList(); list.add(141); list.add(233); list.add(666); list.add(5); list.add(11); list.add(11); list.add(11); list.add(5); System.out.println("当前集合 = "+list); //8.static int frequency(Collection<?> c, Object o) :获取指定元素在指定集合中出现的次数inttimes_0=Collections.frequency(list, 11); inttimes_1=Collections.frequency(list, 233); inttimes_2=Collections.frequency(list, 5); System.out.println("\n11在list集合中出现的次数 = "+times_0); System.out.println("233在list集合中出现的次数 = "+times_1); System.out.println("5在list集合中出现的次数 = "+times_2); } }
运行结果 :
9.static <T> void copy(List<? super T> dest, List<? extends T> src) :
该方法可以将指定的旧集合中的元素拷贝到指定的新集合中。当新集合的长度小于旧集合时,抛出下标越界异常。
Δ代码演示 :
仍然以Collections_Demo类为演示类,代码如下 :
packagecsdn.knowledge.api_tools.gather.collections; importjava.util.ArrayList; importjava.util.Collections; importjava.util.List; publicclassCollections_Demo { publicstaticvoidmain(String[] args) { //演示 : Collections类常用方法Listlist=newArrayList(); list.add(141); list.add(233); list.add(666); list.add(5); list.add(11); list.add(11); list.add(11); list.add(5); System.out.println("当前集合 = "+list); //9.static <T> void copy(List<? super T> dest, List<? extends T> src) : 将旧集合中的内容拷贝到新集合中Listlist2=newArrayList(); try { Collections.copy(list2, list); } catch (Exceptione) { System.out.print("新集合的长度小于旧集合时不能直接拷贝,否则抛出以下异常:"); System.out.println(e.toString()); } for (inti=0; i<list.size(); ++i) { list2.add(null); } Collections.copy(list2, list); System.out.println("拷贝后的新集合 = "+list2); } }
运行结果 :
10.static <T> boolean replaceAll(List<T> list, T oldVal, T newVal) :
该方法可以将集合中指定的旧值全部替换为指定的新值。
Δ代码演示 :
仍然以Collections_Demo类为演示类,代码如下 :
packagecsdn.knowledge.api_tools.gather.collections; importjava.util.ArrayList; importjava.util.Collections; importjava.util.List; publicclassCollections_Demo { publicstaticvoidmain(String[] args) { //演示 : Collections类常用方法Listlist=newArrayList(); list.add("Cyan"); list.add("RA9"); list.add("CSDN YYDS"); list.add("Cyan"); list.add("Cyan"); list.add("Kyrie"); list.add("Irving"); System.out.println("当前集合 = "+list); //10.static <T> boolean replaceAll(List<T> list, T oldVal, T newVal) : 用新值替换集合中的旧值Collections.replaceAll(list, "Cyan", "Ice"); System.out.println("将\"Cyan\"全部替换为\"Ice\"后,集合为 = "); System.out.println(list); } }
运行结果 :
四、完结撒❀
🆗,以上就是Collections类的全部内容了。内容本身没什么难度,主要是常用方法的汇总和演示,所见即所得。接下来,up将会和大家分享Java——泛型篇章的内容,我们不见不散。感谢阅读!