[Java] Collections Intro example

复制代码
public class Code {
  public static void main(String[] args) {
    List<String> names = Arrays.asList("Paul", "Jane", "Sam", "Michaela");

    // Way to sort prior to Java 8 lambdas
    Collections.sort(names, new Comparator<String>() {
      @Override
      public int compare(String a, String b) {
        return b.compareTo(a);
      }
    });
    
    // first iteration with lambda
    Collections.sort(names, (String a, String b) -> {
      return b.compareTo(a);
    });
    
    // now remove the data types and allow the compile to infer the type
    Collections.sort(names, (a, b) -> b.compareTo(a));
    
    /*
    Book {
     String title
     String authorFName
     String authorLName
     int pages
    }
    */
    Book book1 = new Book("Missing Peregrine", "Ranson", "Riggs", 382);
    Book book2 = new Book("Harry Potter", "JK", "Rowling", 411);
    Book book3 = new Book("The cat", "Dr", "Seuss", 45);
    
    List<Book> books = Arrays.asList(book1, book2, book3);
    int total = book.stream()
          .collect(Collectors.summingInt(Book::getPages));
    System.out.println(total); //838
    
    List<String> lilst = books.stream()
          .map(Book::getAuthorLName)
          .collect(Collectors.toList());
    System.out.println(list); // [Riggs, Rowling, Seuss]
    
    // create a list with duplicates
    List<Book> dupBooks = Arrays.asList(book1, book2, book3, book1, book2);
    System.out.println("Before removing dupliates");
    System.out.println(dupBooks.toString());
    
    // remove duoplicates using a Set
    Collection<Book> noDups = new HashSet<>(dupBooks);
    System.out.println("After removing dupliates");
    System.out.println(noDups.toString());
    
    // example of using Set to eliminate dups and sort automatically
    Set<Integer> numbers = new HashSet<>(asList(4,3,3,3,2,1,1,1));
    System.out.println(numbers.toString()); // [1,2,3,4]
  }
}
复制代码

 

posted @   Zhentiw  阅读(84)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2018-12-30 [PWA] Disable Text Selection and Touch Callouts in a PWA on iOS
2018-12-30 [PWA] Customize the Splash Screen of a PWA built with create-react-app
2018-12-30 [PWA] Show an Error when a POST or DELETE Fails in an Offline PWA
2015-12-30 [Javascript] Array methods in depth - indexOf
2015-12-30 [Javascript] Intro to Recursion - Detecting an Infinite Loop
点击右上角即可分享
微信分享提示