目錄
一、前言
二、Collections類簡介
三、Collections類常用方法演示
? ? ? ? 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) :?
? ? ? ? ? ? ? ? Δ代碼演示 :?
四、完結(jié)撒?
一、前言
- 大家好,本篇博文是對java集合篇章之Collections類的內(nèi)容分享。
- 注意 :?①代碼中的注釋也很重要;②不要眼高手低,自己跟著敲一遍代碼才有收獲;③點擊文章的側(cè)邊欄目錄或者文章開頭的目錄可以進行跳轉(zhuǎn)。
- 良工不示人以樸,所有文章都會適時補充完善。大家如果有問題都可以在評論區(qū)進行交流或者私信up。感謝閱讀!
二、Collections類簡介
? ? ? ? Collections類是java提供的一個操作List,Set和Map等集合的工具類。Collections類中提供了一系列操作集合的靜態(tài)方法,使用這些方法可以實現(xiàn)對集合元素的排序、查詢、修改等操作。
? ? ? ? Collections類位于java.base模塊,java.util包下,如下圖所示 :
三、Collections類常用方法演示
? ? ? ? 1.static void reverse(List<?> list) :?
? ? ? ? ? ? ? ? 該方法可以對當前List集合中的元素進行反轉(zhuǎn),顛倒集合中元素的順序。
? ? ? ? ? ? ? ? Δ代碼演示 :?
? ? ? ? ? ? ? ? up以Collections_Demo類為演示類,代碼如下 :?
package csdn.knowledge.api_tools.gather.collections;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
* @author : Cyan_RA9
* @version : 21.0
*/
public class Collections_Demo {
public static void main(String[] args) {
//演示 : Collections類常用方法
List list = new ArrayList();
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) : 反轉(zhuǎn)List集合中元素的順序
Collections.reverse(list);
System.out.println("反轉(zhuǎn)后的集合 = " + list);
}
}
? ? ? ? ? ? ? ? 運行結(jié)果 :?
? ? ? ? 2.static void shuffle(List<?> list) :?
? ? ? ? ? ? ? ? 該方法可以對當前List集合進行“洗牌”,對List集合元素進行隨機排序,且每次“洗牌”都是隨機的。
? ? ? ? ? ? ? ? Δ代碼演示 :?
? ? ? ? ? ? ? ? 仍然以Collections_Demo類為演示類,代碼如下 :?
package csdn.knowledge.api_tools.gather.collections;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Collections_Demo {
public static void main(String[] args) {
//演示 : Collections類常用方法
List list = new ArrayList();
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);
}
}
? ? ? ? ? ? ? ? 運行結(jié)果 :?
? ? ? ? 3.static void sort(List<T> list) :?
? ? ? ? ? ? ? ? 該方法可以根據(jù)元素的自然順序?qū)χ付ǖ腖ist集合進行升序排序。
? ? ? ? ? ? ? ? Δ代碼演示 :?
? ? ? ? ? ? ? ? 仍然以Collections_Demo類為演示類,代碼如下 :?
package csdn.knowledge.api_tools.gather.collections;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Collections_Demo {
public static void main(String[] args) {
//演示 : Collections類常用方法
List list = new ArrayList();
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);
}
}
? ? ? ? ? ? ? ? 運行結(jié)果 :?
? ? ? ? 4.static <T> void sort(List<T> list, Comparator<? super T> c) :?
? ? ? ? ? ? ? ? 該方法可以根據(jù)指定的Comparator指定的順序?qū)χ付ǖ腖ist集合進行升序排序。
? ? ? ? ? ? ? ? Δ代碼演示 :?
? ? ? ? ? ? ? ? 仍然以Collections_Demo類為演示類,我們可以通過在匿名內(nèi)部類中重寫compare方法,更改排序的規(guī)則,比如說我們可以令List集合降序排列。代碼如下 :?
package csdn.knowledge.api_tools.gather.collections;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Collections_Demo {
public static void main(String[] args) {
//演示 : Collections類常用方法
List list = new ArrayList();
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, new Comparator<Object>() {
@Override
public int compare(Object o1, Object o2) {
if (o1 instanceof Integer && o2 instanceof Integer)
return (Integer)o2 - (Integer)o1;
return -1;
}
});
System.out.println("排序后的集合 = " + list);
}
}
? ? ? ? ? ? ? ? 運行結(jié)果 :?
? ? ? ? 5.static void swap(List<?> list, int i, int j) :?
? ? ? ? ? ? ? ? 該方法可以將指定List集合中的i元素和j元素進行交換。
? ? ? ? ? ? ? ? Δ代碼演示 :?
? ? ? ? ? ? ? ? 仍然以Collections_Demo類為演示類,代碼如下 :??
package csdn.knowledge.api_tools.gather.collections;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Collections_Demo {
public static void main(String[] args) {
//演示 : Collections類常用方法
List list = new ArrayList();
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);
}
}
? ? ? ? ? ? ? ? 運行結(jié)果 :??
? ? ? ? 6.static?T max(Collection<? extends T> coll) :?
? ? ? ? ? ? ? ? 該方法可以根據(jù)元素的自然順序,獲取集合中的最大值。
? ? ? ? ? ? ? ? Δ代碼演示 :?
? ? ? ? ? ? ? ? 仍然以Collections_Demo類為演示類,代碼如下 :??
package csdn.knowledge.api_tools.gather.collections;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Collections_Demo {
public static void main(String[] args) {
//演示 : Collections類常用方法
List list = new ArrayList();
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) : 獲取集合中的最大值
int max = (int) Collections.max(list);
System.out.println("當前集合中最大的元素 = " + max);
}
}
? ? ? ? ? ? ? ? 運行結(jié)果 :?
? ? ? ? 7.static?T min(Collection<? extends T> coll) :?
? ? ? ? ? ? ? ? 該方法可以根據(jù)元素的自然順序,獲取集合中的最小值。
? ? ? ? ? ? ? ? Δ代碼演示 :?
? ? ? ? ? ? ? ? 仍然以Collections_Demo類為演示類,代碼如下 :??
package csdn.knowledge.api_tools.gather.collections;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Collections_Demo {
public static void main(String[] args) {
//演示 : Collections類常用方法
List list = new ArrayList();
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) : 獲取集合中的最小值
int min = (int) Collections.min(list);
System.out.println("當前集合中最大的元素 = " + min);
}
}
? ? ? ? ? ? ? ? 運行結(jié)果 :?
? ? ? ? 8.static int frequency(Collection<?> c, Object o) :?
? ? ? ? ? ? ? ? 該方法可以返回指定元素在指定集合中一共出現(xiàn)的次數(shù)。
? ? ? ? ? ? ? ? Δ代碼演示 :?
? ? ? ? ? ? ? ? 仍然以Collections_Demo類為演示類,代碼如下 :???
package csdn.knowledge.api_tools.gather.collections;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Collections_Demo {
public static void main(String[] args) {
//演示 : Collections類常用方法
List list = new ArrayList();
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) :獲取指定元素在指定集合中出現(xiàn)的次數(shù)
int times_0 = Collections.frequency(list, 11);
int times_1 = Collections.frequency(list, 233);
int times_2 = Collections.frequency(list, 5);
System.out.println("\n11在list集合中出現(xiàn)的次數(shù) = " + times_0);
System.out.println("233在list集合中出現(xiàn)的次數(shù) = " + times_1);
System.out.println("5在list集合中出現(xiàn)的次數(shù) = " + times_2);
}
}
? ? ? ? ? ? ? ? 運行結(jié)果 :?
? ? ? ? 9.static <T> void copy(List<? super T> dest, List<? extends T> src) :?
? ? ? ? ? ? ? ? 該方法可以將指定的舊集合中的元素拷貝到指定的新集合中。當新集合的長度小于舊集合時,拋出下標越界異常。
? ? ? ? ? ? ? ? Δ代碼演示 :?
? ? ? ? ? ? ? ? 仍然以Collections_Demo類為演示類,代碼如下 :???
package csdn.knowledge.api_tools.gather.collections;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Collections_Demo {
public static void main(String[] args) {
//演示 : Collections類常用方法
List list = new ArrayList();
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) : 將舊集合中的內(nèi)容拷貝到新集合中
List list2 = new ArrayList();
try {
Collections.copy(list2, list);
} catch (Exception e) {
System.out.print("新集合的長度小于舊集合時不能直接拷貝,否則拋出以下異常:");
System.out.println(e.toString());
}
for (int i = 0; i < list.size(); ++i) {
list2.add(null);
}
Collections.copy(list2, list);
System.out.println("拷貝后的新集合 = " + list2);
}
}
? ? ? ? ? ? ? ? 運行結(jié)果 :?
? ? ? ? 10.static <T> boolean replaceAll(List<T> list, T oldVal, T newVal) :?
? ? ? ? ? ? ? ? 該方法可以將集合中指定的舊值全部替換為指定的新值。
? ? ? ? ? ? ? ? Δ代碼演示 :?
? ? ? ? ? ? ? ? 仍然以Collections_Demo類為演示類,代碼如下 :???
package csdn.knowledge.api_tools.gather.collections;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Collections_Demo {
public static void main(String[] args) {
//演示 : Collections類常用方法
List list = new ArrayList();
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);
}
}
? ? ? ? ? ? ? ? 運行結(jié)果 :??
四、完結(jié)撒?
? ? ? ? ??,以上就是Collections類的全部內(nèi)容了。內(nèi)容本身沒什么難度,主要是常用方法的匯總和演示,所見即所得。接下來,up將會和大家分享Java——泛型篇章的內(nèi)容,我們不見不散。感謝閱讀!文章來源:http://www.zghlxwxcb.cn/news/detail-408304.html
? ? ? ? System.out.println("END-------------------------------------------");?文章來源地址http://www.zghlxwxcb.cn/news/detail-408304.html
到了這里,關(guān)于java Collections類 詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!