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

Java8 使用 stream().sorted()對List集合進(jìn)行排序的操作

 更新時(shí)間:2020年10月10日 10:33:56   作者:Romantic_321  
這篇文章主要介紹了Java8 使用 stream().sorted()對List集合進(jìn)行排序的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

1、聲明一個(gè)測試對象

import java.time.LocalDate;
import java.util.List;
import lombok.Data;
 
@Data
public class StudentInfo{
 
  //名稱
  private String name;
 
  //性別 true男 false女
  private Boolean gender;
 
  //年齡
  private Integer age;
 
  //身高
  private Double height;
 
  //出生日期
  private LocalDate birthday; 
}
 

2、添加一些測試數(shù)據(jù)

//測試數(shù)據(jù),請不要糾結(jié)數(shù)據(jù)的嚴(yán)謹(jǐn)性
List<StudentInfo> studentList = new ArrayList<>();
studentList.add(new StudentInfo("李小明",true,18,1.76,LocalDate.of(2001,3,23)));
studentList.add(new StudentInfo("張小麗",false,18,1.61,LocalDate.of(2001,6,3)));
studentList.add(new StudentInfo("王大朋",true,19,1.82,LocalDate.of(2000,3,11)));
studentList.add(new StudentInfo("陳小跑",false,17,1.67,LocalDate.of(2002,10,18)));
使用年齡進(jìn)行升序排序
//排序前輸出
StudentInfo.printStudents(studentList);
//按年齡排序(Integer類型)
List<StudentInfo> studentsSortName = studentList.stream().sorted(Comparator.comparing(StudentInfo::getAge)).collect(Collectors.toList());
//排序后輸出
StudentInfo.printStudents(studentsSortName);

排序后結(jié)果

使用年齡進(jìn)行降序排序(使用reversed()方法)

//排序前輸出
StudentInfo.printStudents(studentList);
//按年齡排序(Integer類型)
List<StudentInfo> studentsSortName = studentList.stream().sorted(Comparator.comparing(StudentInfo::getAge).reversed()).collect(Collectors.toList());
//排序后輸出
StudentInfo.printStudents(studentsSortName);

排序后結(jié)果

使用年齡進(jìn)行降序排序,年齡相同再使用身高升序排序

//排序前輸出
    StudentInfo.printStudents(studentList);
    //按年齡排序(Integer類型)
    List<StudentInfo> studentsSortName = studentList.stream()
        .sorted(Comparator.comparing(StudentInfo::getAge).reversed().thenComparing(StudentInfo::getHeight))
        .collect(Collectors.toList());
    //排序后輸出
    StudentInfo.printStudents(studentsSortName);

排序后結(jié)果

補(bǔ)充知識:JAVA實(shí)現(xiàn)將文字合成到指定圖片的指定位置(JAVA合成文本文字到圖片文件:附font字體不生效解決辦法)

實(shí)現(xiàn)效果如圖:

代碼如下:

參數(shù)s1,s2分別代表你想要合成到圖片中的文字信息,如需多個(gè)可自行進(jìn)行修改

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
 
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
 
/**
 * create By Jlm
 */
 
public class ImgBean{
 
  public static void ImgYin(String s1, String s2, String ImgName){
    try{
      File file = new File(ImgName);
      Image src = ImageIO.read(file);
      int wideth=src.getWidth(null);
      int height=src.getHeight(null);
      BufferedImage image=new BufferedImage(wideth,height,BufferedImage.TYPE_INT_RGB);
      Graphics g=image.createGraphics();
      g.drawImage(src,0,0,wideth,height,null);
      //設(shè)置字體顏色
      g.setColor(Color.RED);
      //size字體大小
      g.setFont(new Font("STKaiti",Font.PLAIN,50));
      //wideth控制字體距離右側(cè)邊緣距離 height控制字體距離底部距離
      g.drawString(s1,wideth-600,height-400);
      g.drawString(s2,wideth-600,height-500);
      g.dispose();
      FileOutputStream out=new FileOutputStream(ImgName);
      JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
      encoder.encode(image);
      out.close();
    }
    catch(Exception e){
      System.out.println(e);
    }
  }
 
  public static void main(String[] args) {
    ImgYin("1111111","2222222","/Users/jianglinmao/Downloads/11.png");
  }
}

有的同學(xué)可能發(fā)現(xiàn)設(shè)置字體的時(shí)候可能不生效,目前博主已發(fā)現(xiàn)的原因?yàn)樽煮w名稱對應(yīng)不上導(dǎo)致

首先在你要進(jìn)行合成操作的環(huán)境下執(zhí)行如下代碼,看看目前該環(huán)境已存在的字體有哪些,找到自己想要的字體對應(yīng)的名稱即可

import java.awt.*;
 
/**
 * Created by jlm on 2019/10/22.
 */
public class FontTest {
  public static void main(String[] args) {
    Font[] fonts = GraphicsEnvironment
        .getLocalGraphicsEnvironment().getAllFonts();
    for (Font f : fonts) {
      System.out.println("Name:" + f.getFontName());
    }
  }
}

在控制臺尋找自己想要的字體的英文名稱,再替換到new Font()的指定位置就可以了

比如紅色圈出來的就是字體仿宋和黑體對應(yīng)的名稱,博主試過輸入中文是不生效的。

如果不想在原圖片文件上直接修改,而是想根據(jù)原文件圖片,修改后生成新的文件圖片,修改代碼如下位置即可

以上這篇Java8 使用 stream().sorted()對List集合進(jìn)行排序的操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • java如何自定義List中的sort()排序,用于日期排序

    java如何自定義List中的sort()排序,用于日期排序

    這篇文章主要介紹了java如何自定義List中的sort()排序,用于日期排序,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 親測SpringBoot參數(shù)傳遞及@RequestBody注解---踩過的坑及解決

    親測SpringBoot參數(shù)傳遞及@RequestBody注解---踩過的坑及解決

    這篇文章主要介紹了親測SpringBoot參數(shù)傳遞及@RequestBody注解---踩過的坑及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Spring各版本新特性的介紹

    Spring各版本新特性的介紹

    今天小編就為大家分享一篇關(guān)于Spring各版本新特性的介紹,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • 走進(jìn)JDK之不可變類String

    走進(jìn)JDK之不可變類String

    這篇文章主要給大家介紹了JDK之不可變類String的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用JDK具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • springboot多租戶設(shè)計(jì)過程圖解

    springboot多租戶設(shè)計(jì)過程圖解

    這篇文章主要介紹了springboot多租戶設(shè)計(jì)過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Android Studio中ButterKnife插件的安裝與使用詳解

    Android Studio中ButterKnife插件的安裝與使用詳解

    本篇文章主要介紹了Android Studio中ButterKnife插件的安裝與使用詳解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 深入理解Java運(yùn)行時(shí)數(shù)據(jù)區(qū)_動力節(jié)點(diǎn)Java學(xué)院整理

    深入理解Java運(yùn)行時(shí)數(shù)據(jù)區(qū)_動力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章主要介紹了Java運(yùn)行時(shí)數(shù)據(jù)區(qū)的相關(guān)知識,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2017-06-06
  • SpringBoot使用hutool操作FTP的詳細(xì)過程

    SpringBoot使用hutool操作FTP的詳細(xì)過程

    在使用SpringBoot結(jié)合hutool操作FTP時(shí),遇到防火墻導(dǎo)致上傳文件大小為0kb的問題,通過設(shè)置FTP為被動模式解決,本文詳細(xì)解析了FTP的主動模式和被動模式的工作原理、安全性及適用場景,幫助理解FTP的連接方式和解決網(wǎng)絡(luò)限制問題
    2024-09-09
  • Java 中的 Class.forName(類名) 使用及原理解析

    Java 中的 Class.forName(類名) 使用及原理解析

    Class.forName是Java中用于動態(tài)加載類的強(qiáng)大工具,廣泛應(yīng)用于數(shù)據(jù)庫驅(qū)動加載、反射機(jī)制和插件系統(tǒng)等場景,它通過ClassLoader加載類并執(zhí)行靜態(tài)初始化代碼,但在使用時(shí)需要注意類路徑、初始化副作用和類加載器的選擇等問題,感興趣的朋友一起看看吧
    2024-12-12
  • 如何用java對接微信小程序下單后的發(fā)貨接口

    如何用java對接微信小程序下單后的發(fā)貨接口

    這篇文章主要介紹了在微信小程序后臺實(shí)現(xiàn)發(fā)貨通知的步驟,包括獲取Access_token、使用RestTemplate調(diào)用發(fā)貨接口、處理AccessToken緩存以及發(fā)貨成功后的提醒,需要的朋友可以參考下
    2025-03-03

最新評論

康平县| 科技| 尚志市| 区。| 措美县| 土默特右旗| 鲁甸县| 内乡县| 民丰县| 新乡县| 黔南| 平江县| 荆门市| 四子王旗| 灵山县| 新和县| 江口县| 唐山市| 汤阴县| 芷江| 团风县| 凌海市| 东乌| 南宁市| 丹棱县| 莱芜市| 大姚县| 海宁市| 奉化市| 东平县| 北流市| 芜湖市| 石狮市| 连城县| 通辽市| 邢台县| 喀喇| 秭归县| 郧西县| 安国市| 宁陕县|