激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Java集合框架Collections原理及用法實例

Java集合框架Collections原理及用法實例

2020-08-04 12:38陳彥斌 Java教程

這篇文章主要介紹了Java集合框架Collections原理及用法實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

Collections工具類

Java里關于聚合的工具類,包含有各種有關集合操作的靜態多態方法,不能實例化(把構造函數私有化)

?
1
2
3
4
5
public class Collections {
  // Suppresses default constructor, ensuring non-instantiability.
  private Collections() {
  }
}

和Collection的區別

  • Collection是接口,提供了對集合對象進行基本操作的通用接口方法,List、Set等多種具體的實現類
  • Collection是工具類,專門從操作Collection接口實現類里面的元素

常見方法

排序

Sort(List list)

按自然排序的升序排序

?
1
2
3
4
5
6
7
8
9
public static void main(String[] args) {
  List<String> list = new ArrayList<>();
  list.add("aaaa");
  list.add("zzz");
  list.add("gggg");
  System.out.println(list);
  Collections.sort(list);
  System.out.println(list);
}

自定義排序規則

Sort(List list,Comparator c),由Comparator控制排序邏輯

?
1
2
3
4
5
6
7
8
9
10
11
12
13
public static void main(String[] args) {
  List<String> list = new ArrayList<>();
   list.add("aaaa");
   list.add("zzz");
   list.add("gggg");
   System.out.println(list);
   //默認升序
   Collections.sort(list, Comparator.naturalOrder());
   System.out.println(list);
   //降序
   Collections.sort(list, Comparator.reverseOrder());
   System.out.println(list);
}

隨機排序

shuffle(List list)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public static void main(String[] args) {
  List<String> list = new ArrayList<>();
  list.add("1");
  list.add("2");
  list.add("3");
  list.add("4");
  list.add("5");
  list.add("6");
  list.add("7");
  list.add("8");
  list.add("9");
  list.add("10");
  list.add("J");
  list.add("Q");
  list.add("K");
  System.out.println(list);
  Collections.shuffle(list);
  System.out.println(list);
}

獲取最值元素

max(Collection coll)#

  默認比較,不適合對象比較

max(Collection coll,Comparator comparator)#

Student.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package com.cyb.test;
 
class Student {
  public Student(String name, int age) {
    this.name = name;
    this.age = age;
  }
 
  private int age;
  private String name;
 
  public void setAge(int age) {
    this.age = age;
  }
 
  public int getAge() {
    return age;
  }
 
  public void setName(String name) {
    this.name = name;
  }
 
  public String getName() {
    return name;
  }
 
  @Override
  public String toString() {
    return "Student{" + "age=" + age + ", name='" + name + '\'' + '}';
  }
}

Test03.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package com.cyb.test;
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
 
public class test03 {
  public static void main(String[] args) {
    List<Student> list = new ArrayList<>();
    list.add(new Student("jack", 26));
    list.add(new Student("tom", 29));
    list.add(new Student("mary", 32));
    list.add(new Student("tony", 19));
    list.add(new Student("smith", 41));
    System.out.println(list);
    Student maxAgeStudent = Collections.max(list, new Comparator<Student>() {
      @Override
      public int compare(Student o1, Student o2) {
        return o1.getAge() - o2.getAge();
      }
    });
    System.out.println("maxAgeStudent = "+maxAgeStudent.toString());
    Student mixAgeStudent = Collections.min(list, new Comparator<Student>() {
      @Override
      public int compare(Student o1, Student o2) {
        return o1.getAge() - o2.getAge();
      }
    });
    System.out.println("mixAgeStudent = "+mixAgeStudent.toString());
  }
}

創建不可變集合unmodifiablleXXX()

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
List<String> list = new ArrayList<>();
 list.add("SpringBoot課程");
 list.add("架構課程");
 list.add("微服務SpringCloud課程"); //設置為只讀List集合
 list = Collections.unmodifiableList(list);
 System.out.println(list);
 Set<String> set = new HashSet<>();
 set.add("Mysql教程");
 set.add("Linux服務器器教程");
 set.add("Git教程");
 //設置為只讀Set集合
 set = Collections.unmodifiableSet(set);
 System.out.println(set);
 Map<String, String> map = new HashMap<>();
 map.put("key1", "課程1");
 map.put("key2", "課程2");
 //設置為只讀Map集合
 map = Collections.unmodifiableMap(map);
 System.out.println(map);

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/chenyanbin/p/13401255.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: www.69色 | 人人舔人人插 | 羞羞答答影院 | 在线看小早川怜子av | 欧美一区二区三区成人精品 | 国产超碰人人爽人人做人人爱 | 亚洲精品一区国产精品丝瓜 | 免费a级毛片大学生免费观看 | 日韩欧美电影一区二区三区 | 欧美日韩国产中文字幕 | 免费a视频 | 亚洲成人午夜精品 | gogo全球大胆高清人露出91 | 免费99热在线观看 | 婷婷精品国产一区二区三区日韩 | 亚洲成人中文字幕在线 | 亚洲爱爱网站 | 欧美性生活久久 | 久久亚洲一区二区三区成人国产 | 精品国产一区二区三区蜜殿 | 久久久麻豆 | 久久久成人精品视频 | 二区三区四区视频 | 91精品观看91久久久久久国产 | 在线播放中文 | 亚洲婷婷日日综合婷婷噜噜噜 | 色欲香天天天综合网站 | 九九精品视频免费 | 99视频在线观看视频 | 黄色美女免费 | 污片视频在线观看 | 欧美亚洲另类在线 | 久久久久久久久久久久久九 | 在线99热| 国产91精品久久久久久 | 羞羞视频免费观看入口 | 成人午夜视频免费在线观看 | 成人午夜在线播放 | 日韩视频一区在线 | 欧美伦交| chinese xxxxhd videos麻豆 |