最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年08月04日 09:52:03   作者:陳彥斌  
這篇文章主要介紹了Java集合框架Collections原理及用法實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

Collections工具類

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

public class Collections {
  // Suppresses default constructor, ensuring non-instantiability.
  private Collections() {
  }
}

和Collection的區(qū)別

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

常見方法

排序

Sort(List list)

按自然排序的升序排序

  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);
  }

自定義排序規(guī)則

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

  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)

  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

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

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());
  }
}

創(chuàng)建不可變集合unmodifiablleXXX()

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);

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

相關文章

  • java靜態(tài)工具類注入service出現(xiàn)NullPointerException異常處理

    java靜態(tài)工具類注入service出現(xiàn)NullPointerException異常處理

    如果我們要在我們自己封裝的Utils工具類中或者非controller普通類中使用@Autowired注解注入Service或者Mapper接口,直接注入是報錯的,因Utils用了靜態(tài)方法,我們無法直接用非靜態(tài)接口的,遇到這問題,我們要想法解決,下面小編就簡單介紹解決辦法,需要的朋友可參考下
    2021-09-09
  • Mybatis?Plus?逆向工程介紹

    Mybatis?Plus?逆向工程介紹

    這篇文章主要介紹了Mybatis?Plus?逆向工程,文章通過Mybatis?Plus?逆向工程相關資料及示例代碼詳細介紹,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考一下
    2022-01-01
  • Java并發(fā)編程之詳解CyclicBarrier線程同步

    Java并發(fā)編程之詳解CyclicBarrier線程同步

    在之前的文章中已經為大家介紹了java并發(fā)編程的工具:BlockingQueue接口,ArrayBlockingQueue,DelayQueue,LinkedBlockingQueue,PriorityBlockingQueue,SynchronousQueue,BlockingDeque接口,ConcurrentHashMap,CountDownLatch,本文為系列文章第十篇,需要的朋友可以參考下
    2021-06-06
  • Spring Boot Logging Level設置為off時的Bug

    Spring Boot Logging Level設置為off時的Bug

    這篇文章主要介紹了Spring Boot Logging Level設置為off時的Bug,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • java中List接口與實現(xiàn)類介紹

    java中List接口與實現(xiàn)類介紹

    大家好,本篇文章主要講的是java中List接口與實現(xiàn)類介紹,感興趣的同學趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Springboot快速入門教程

    Springboot快速入門教程

    今天給大家?guī)淼氖顷P于Springboot基礎的相關知識,文章圍繞著Springboot的基礎知識及用法展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 解決Maven無法下載2.1.7.js7版本的itext依賴問題

    解決Maven無法下載2.1.7.js7版本的itext依賴問題

    本文主要解決使用Maven編譯項目時出現(xiàn)的itext依賴版本問題,通過分析,發(fā)現(xiàn)該問題是由jasperreports依賴的特定版本itext導致的,解決方法是排除jasperreports中的itext依賴,并自行指定更高版本的itext依賴
    2024-12-12
  • Java swing 圖像處理多種效果實現(xiàn)教程

    Java swing 圖像處理多種效果實現(xiàn)教程

    這篇文章主要介紹了Java swing 圖像處理多種效果實現(xiàn)教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • java實現(xiàn)socket客戶端連接服務端

    java實現(xiàn)socket客戶端連接服務端

    本文是個人剛剛開始學習如何通過socket去發(fā)送信息下邊的案例,也是書上的在這留下筆記,最后附上一個實例,有需要的小伙伴可以參考下。
    2015-10-10
  • spring boot aop 記錄方法執(zhí)行時間代碼示例

    spring boot aop 記錄方法執(zhí)行時間代碼示例

    這篇文章主要介紹了spring boot aop 記錄方法執(zhí)行時間代碼示例,分享了相關代碼,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02

最新評論

基隆市| 天祝| 德清县| 凤翔县| 福清市| 昌宁县| 右玉县| 枣阳市| 阿克| 承德市| 雷波县| 于田县| 财经| 莒南县| 柞水县| 丹寨县| 绵阳市| 科技| 南昌市| 厦门市| 通榆县| 定兴县| 望奎县| 探索| 武威市| 淄博市| 夏邑县| 淅川县| 新巴尔虎右旗| 白城市| 海晏县| 宕昌县| 晴隆县| 景德镇市| 吉林省| 色达县| 海门市| 新宾| 白河县| 泰州市| 海南省|