java对list按顺序去重,java list根据某个字段去重

本文目录一览:

java list如何去重

ListString list = new ArrayList();

/*list.add(“abc”);

list.add(“abc”);

list.add(“def”);

list.add(“bcd”);*/

SetString set = new LinkedHashSet();//这种方式保证去重后的元素相对位置不变

//SetString set = new HashSet();//这种方式去重后元素的位置很有可能变化了

set.addAll(list);

list.clear();

list.addAll(set);

for(String s : list){

System.out.println(s);

}

整个思路就是利用set中的元素是不重复的,来达到去重的目的

如何在List集合中去重

通过循环进行删除

public static void removeDuplicate(List list) { 

for ( int i = 0 ; i list.size() – 1 ; i ++ ) { 

for ( int j = list.size() – 1 ; j i; j — ) { 

if (list.get(j).equals(list.get(i))) { 

list.remove(j); 

}

}

System.out.println(list);

}

通过HashSet删除

public static void removeDuplicate(List list) {

HashSet h = new HashSet(list);

list.clear();

list.addAll(h);

System.out.println(list);

}

3、删除重复元素,并保持顺序。(我没试)

public static void removeDuplicateWithOrder(List list) {

Set set = new HashSet();

List newList = new ArrayList();

for (Iterator iter = list.iterator(); iter.hasNext();) {

Object element = iter.next(); 

if (set.add(element)) 

newList.add(element); 

}

list.clear();

list.addAll(newList);

System.out.println( ” remove duplicate ” + list);

}

4、定义一个方法,调用即可。

publi ListString getNewList(ListString li){

ListString list = new ArrayListString();

for(int i=0; ili.size(); i++){

String str = li.get(i); //获取传入集合对象的每一个元素

if(!list.contains(str)){ //查看新集合中是否有指定的元素,如果没有则加入

list.add(str);

}

}

return list; //返回集合

}

public class Test{

public static void main(String[] args){

ArrayListString arr = new ArrayListString();

arr.add(“aaa”);

arr.add(“bbb”);

arr.add(“aaa”);

arr.add(“ccc”);

arr = getNewList(arr); //方法去重

System.out.println(arr);

}

}

package com.test;

import java.util.*;public class Test {    /**

AAAA AAAA BBBB BBBB CCCC CCCC CCCC CCCC     */

public static void main(String[] args) {

ListString list = new ArrayListString();

list.add(“AAAA”);

list.add(“AAAA”);

list.add(“AAAA”);

list.add(“BBBB”);

list.add(“BBBB”);

list.add(“BBBB”);

list.add(“CCCC”);

list.add(“CCCC”);

list.add(“CCCC”);

list.add(“DDDD”);        new Test().removeDuplicateWithOrder(list);//      System.out.println(list);    }    // 删除ArrayList中重复元素

public static void removeDuplicate(List list) {        for (int i = 0; i list.size() – 1; i++) {            for (int j = list.size() – 1; j i; j–) {                if (list.get(j).equals(list.get(i))) {

list.remove(j);

}

}

}

System.out.println(list);

}    // 方法二:通过HashSet剔除    // 删除ArrayList中重复元素,add进去顺序就变了不考虑顺序的话可以使用

public static void removeDuplicate1(List list) {

HashSet h = new HashSet(list);

list.clear();

list.addAll(h);

System.out.println(list);

}    // 方法三: 删除ArrayList中重复元素,保持顺序    // 删除ArrayList中重复元素,保持顺序

public static void removeDuplicateWithOrder(List list) {

Set set = new HashSet();

List newList = new ArrayList();        for (Iterator iter = list.iterator(); iter.hasNext();) {

Object element = iter.next();            if (set.add(element))

newList.add(element);

}

list.clear();

list.addAll(newList);

System.out.println(” remove duplicate ” + list);

}

}

Java中如何去除List中的重复的值

通过HashSet剔除

    // 删除ArrayList中重复元素,add进去顺序就变了不考虑顺序的话可以使用

    public static void removeDuplicate1(List list) {

        HashSet h = new HashSet(list);

        list.clear();

        list.addAll(h);

        System.out.println(list);

    }

java对List去重并排序,如何快速地去掉两个

Java8开始,对数值,集合等提供了Stream流操作,可以方便的对集合进行操作.

比如 筛选,过滤,去重, 映射, 排序,规约,收集 等操作

简单的参考代码如下

import java.util.Arrays;

import java.util.List;

import java.util.stream.Collectors;

// 使用Java8 的Stream特性 和 Java8的Lambda 语句

public class Demo {

public static void main(String[] args) {

// 需求: 集合去重,排序,得到一个新集合里面的元素是之前元素的平方

ListInteger list=Arrays.asList(5,2,2,1,3,4);

ListInteger listResult = list

.stream() // 得到流

.distinct() // 去重 5,2,1,3,4

.sorted() // 自然排序 , 也可以自定义排序规则1,2,3,4,5

.map(x-x*x) // 每个元素求平方1,4,9,16,25

.collect(Collectors.toList()); //收集并返回

System.out.println(listResult);//1,4,9,16,25

}

}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/237525.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 12:05
下一篇 2024-12-12 12:05

相关推荐

  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29
  • Java任务下发回滚系统的设计与实现

    本文将介绍一个Java任务下发回滚系统的设计与实现。该系统可以用于执行复杂的任务,包括可回滚的任务,及时恢复任务失败前的状态。系统使用Java语言进行开发,可以支持多种类型的任务。…

    编程 2025-04-29
  • Java 8 Group By 会影响排序吗?

    是的,Java 8中的Group By会对排序产生影响。本文将从多个方面探讨Group By对排序的影响。 一、Group By的概述 Group By是SQL中的一种常见操作,它…

    编程 2025-04-29

发表回复

登录后才能评论