java中List对象列表实现去重或取出及排序的方法

当我们在进行Java编程时,经常会涉及到对List对象列表进行去重、取出特定元素以及排序等操作。下面就为大家介绍一些Java中对List对象列表进行去重、取出及排序的方法:

实现List对象列表去重的方法

方法一:通过HashSet去重

List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("A");
list.add("C");
list.add("D");
list.add("B");
list.add("E");

Set<String> set = new HashSet<>();
set.addAll(list); //将list转为set,利用set去重
list.clear();
list.addAll(set);
System.out.println(list.toString());

运行结果:

[A, B, C, D, E]

通过HashSet去重的方法,将List转为Set,使用Set去重,最后将Set转为List即可实现去重操作。

方法二:使用Java8 Stream去重

List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("A");
list.add("C");
list.add("D");
list.add("B");
list.add("E");

List<String> newList = list.stream().distinct().collect(Collectors.toList());
System.out.println(newList);

运行结果:

[A, B, C, D, E]

使用Java8 Stream去重的方法,通过Stream的distinct方法对List进行去重,最后利用collect方法将Stream转为List即可。

实现List对象列表取出特定元素的方法

方法一:循环遍历取出

List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("A");
list.add("C");
list.add("D");
list.add("B");
list.add("E");

List<String> resultList = new ArrayList<>();
for (String str : list) {
    if (str.equals("A")) {
        resultList.add(str);
    }
}
System.out.println(resultList);

运行结果:

[A, A]

使用循环遍历取出特定元素的方法,通过循环遍历List,找到符合条件的元素,添加到结果集合中,最后返回结果集合即可。

方法二:使用Java8 Stream筛选

List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("A");
list.add("C");
list.add("D");
list.add("B");
list.add("E");

List<String> resultList = list.stream().filter(str -> str.equals("A")).collect(Collectors.toList());
System.out.println(resultList);

运行结果:

[A, A]

使用Java8 Stream筛选的方法,通过Stream的filter方法,筛选出符合条件的元素,最后利用collect方法将Stream转为List即可。

实现List对象列表排序的方法

方法一:使用Collections.sort()方法

List<Integer> list = new ArrayList<>();
list.add(3);
list.add(1);
list.add(5);
list.add(2);

Collections.sort(list);
System.out.println(list);

运行结果:

[1, 2, 3, 5]

使用Collections.sort()方法进行排序,直接调用Collections.sort()方法,对List进行排序即可。

方法二:使用Java8 Stream进行排序

List<Integer> list = new ArrayList<>();
list.add(3);
list.add(1);
list.add(5);
list.add(2);

List<Integer> sortList = list.stream().sorted().collect(Collectors.toList());
System.out.println(sortList);

运行结果:

[1, 2, 3, 5]

使用Java8 Stream进行排序,通过Stream的sorted方法,对List进行排序,最后利用collect方法将Stream转为List即可。

以上就是Java中List对象列表实现去重、取出特定元素及排序的方法攻略,希望对大家有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中List对象列表实现去重或取出及排序的方法 - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • JSP指令元素(page指令/include指令/taglib指令)复习整理

    JSP指令元素是用于指定JSP页面的配置信息,包括页面的编码方式、引入的Java类库和定义自定义标签库等。常见的JSP指令元素包括page指令、include指令和taglib指令。 page指令元素 page指令元素是最常用的JSP指令元素之一,用于指定JSP页面的各种配置信息,它通常包含在JSP页面的头部位置,并以%@开&#…

    Java 2023年6月15日
    00
  • 详解spring security四种实现方式

    我很乐意为你提供关于“详解spring security四种实现方式”的完整攻略。以下是我为你准备的文本: 详解spring security四种实现方式 在本文中,我们将讨论Spring Security的四种实现方式,包括: 基于内存的实现方式 基于JDBC的实现方式 基于LDAP的实现方式 基于自定义实现方式 在接下来的部分,我们将分别深入讨论这四种实…

    Java 2023年5月19日
    00
  • Springboot入门案例及部署项目的详细过程

    下面我将为你详细讲解“Spring Boot入门案例及部署项目的详细过程”。 Spring Boot入门案例 步骤1:创建Spring Boot项目 首先,在你的开发环境上安装好Java和Maven,并创建一个新的Maven工程。在工程中加入以下依赖: <dependency> <groupId>org.springframework…

    Java 2023年5月15日
    00
  • Android利用Intent实现记事本功能(NotePad)

    Android利用Intent实现记事本功能(NotePad) 在Android开发中,Intent是一种非常重要的通信机制,可以实现不同组件之间的互相调用。在本文中,我们将使用Intent实现记事本功能(NotePad)。 步骤一:新建项目 先在Android Studio中新建一个项目,选择Empty Activity,然后把App名称设置为NotePa…

    Java 2023年5月19日
    00
  • Hibernate 基本操作、懒加载以及缓存

    前言 上一篇咱们介绍了 Hibernate 以及写了一个 Hibernate 的工具类,快速入门体验了一波 Hibernate 的使用,我们只需通过 Session 对象就能实现数据库的操作了。 现在,这篇介绍使用 Hibernate 进行基本的 CRUD、懒加载以及缓存的知识。 提示:如果你还没看上一篇,那么建议你看完上一篇再来看这篇。 上一篇:一文快速入…

    Java 2023年5月11日
    00
  • Mybatis下的SQL注入漏洞原理及防护方法解析

    Mybatis是一个流行的Java持久层框架,它具有方便的ORM(对象关系映射)实现方式和优秀的性能。然而,一些开发人员对Mybatis的SQL注入漏洞缺乏足够的认识,导致了许多Mybatis系统的漏洞。 SQL注入漏洞原理 所谓SQL注入,是指攻击者在Web应用中注入恶意的SQL语句,从而执行一些数据篡改、信息泄露等恶意操作。Mybatis中的SQL注入漏…

    Java 2023年5月20日
    00
  • SpringBoot与Spring之间的对比

    关于“SpringBoot与Spring之间的对比”的话题进行完整攻略,可以从以下几个方面进行讲解。 1. Spring和SpringBoot的定义和特点 首先,我们需要了解Spring和SpringBoot的定义和特点。 Spring是一个经典的开源Java框架,它主要应用于企业级应用的开发,提供了一系列的解决方案以适应复杂的应用需求,如IoC容器、AOP…

    Java 2023年5月15日
    00
  • springboot的war和jar包的使用详解

    Spring Boot的WAR和JAR包使用详解 Spring Boot是一个非常流行的开源框架,可以帮助开发者快速建立基于Spring的应用程序。一般情况下,Spring Boot提供两种打包方式:JAR包和WAR包。本文将详细介绍这两种打包方式的使用方法。 JAR包 JAR包是最常见的Java应用程序打包方式,可以包含所有需要的类文件和资源文件,还可以包…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部