java去掉List中的重复值代码

时间:2022-12-04 16:42:46

1. list中为字符串的情况,代码如下:

public static void main(String[] args) {
List<String> li = new ArrayList<String>();
li.add("AAAA");
li.add("AAAA");
li.add("AAAA");
li.add("BBBB");
li.add("BBBB");
li.add("CCCC");
li.add("CCCC");
li.add("CCCC");
li.add("CCCC"); ArrayList<String> result = new ArrayList<String>();
for (String s : li) {
if (Collections.frequency(result, s) < 1)
result.add(s);
}
for (int i = 0; i < result.size(); i++) {
System.out.println(result.get(i));
}
}

输出结果为:
AAAA
BBBB
CCCC
2.如果list存放的是对象,可以借助Map来处理,因为Map中key值不能够重复的特点.

/***
* 去除List<PartsInfoDTO>列表中的重复对象 ~!!
* @param list
* @return
*/
public static List<PartsInfoDTO> removeDuplicate(List<PartsInfoDTO> list) {
// Set<PartsInfoDTO> set = new HashSet<PartsInfoDTO>();
List<PartsInfoDTO> newList = new ArrayList<PartsInfoDTO>(); Map map = new HashMap();
for (Iterator<PartsInfoDTO> iter = list.iterator(); iter.hasNext();) {
PartsInfoDTO element = (PartsInfoDTO) iter.next();
map.put(element.getId(), element); //如果id重复会覆盖.
} Iterator it = map.keySet().iterator();
while (it.hasNext()) {
Integer key = (Integer) it.next();
newList.add((PartsInfoDTO) map.get(key));
} return newList;
}

另外补充下Map转换成List的方法:

/**
* @param args
*/
public static void main(String[] args) { Map map = new HashMap();
map.put("a", "a1");
map.put("b", "b1");
map.put("c", "c1"); List listKey = new ArrayList();
List listValue = new ArrayList();
Iterator it = map.keySet().iterator();
while (it.hasNext()) {
String key = it.next().toString();
listKey.add(key);
listValue.add(map.get(key));
}
System.out.println("Convert Finished !"); for (int i = 0; i < listKey.size(); i++) {
System.out.print("Key :" + listKey.get(i));
System.out.println(" Value :" + listValue.get(i));
}
}

java去掉List中的重复值代码的更多相关文章

  1. 三种java 去掉字符串中的重复字符函数

    三种java 去掉字符串中的重复字符函数 public static void main(string[] args) { system.out.println(removerepeatedchar( ...

  2. Java 去掉字符串中的重复数据

    有一组字符串比如 北京,北京,上海,上海,上海,武汉-------->要得到        北京,上海,武汉 怎么去掉里面重复的字符串? function DelRepetStr(String ...

  3. JavaScript去除数组中的重复值

    用原型函数(prototype)可以定义一些很方便的自定义函数,实现各种自定义功能. Javascript 中的原型函数(prototype)的工作原理,在 javascript 中每次声明新函数的过 ...

  4. C&num;中如何查找Dictionary中的重复值

    简介 在这篇帮助文档中,我将向你展示如何实现c#里字典中重复值的查找.你知道的对于一个老鸟来说,这是非常简单的代码.但是尽管如此,这也是一篇对c#初学者非常有用的帮助文档. 背景 多数程序员对小型数据 ...

  5. Ex 2&lowbar;14 去掉数组中所有重复的元素&period;&period;&period;&lowbar;第二次作业

    首先利用归并排序算法对数组进行排序,时间复杂度为O(nlogn),接着再利用时间复杂度为O(n) 的去重复算法去掉数组中的重复元素.总的时间复杂度为O(nlogn). (这题应该用分支算法解决)以下为 ...

  6. 去除List集合中的重复值(四种好用的方法)

    最近项目中需要对list集合中的重复值进行处理,大部分是采用两种方法,一种是用遍历list集合判断后赋给另一个list集合,一种是用赋给set集合再返回给list集合. 但是赋给set集合后,由于se ...

  7. 去除List集合中的重复值(四种好用的方法)(基本数据类型可用)

    最近项目中需要对list集合中的重复值进行处理,大部分是采用两种方法,一种是用遍历list集合判断后赋给另一个list集合,一种是用赋给set集合再返回给list集合. 但是赋给set集合后,由于se ...

  8. 如何使用 Java 删除 ArrayList 中的重复元素

    如何使用 Java 删除 ArrayList 中的重复元素 (How to Remove Duplicates from ArrayList in Java) Given an ArrayList w ...

  9. Java删除ArrayList中的重复元素

    Java删除ArrayList中的重复元素的2种方法 ArrayList是Java中最常用的集合类型之一.它允许灵活添加多个null元素,重复的元素,并保持元素的插入顺序.在编码时我们经常会遇到那种必 ...

随机推荐

  1. java读取项目根路径下和任意磁盘位置下的properties文件

    1.读取项目根路径下的properties文件比较简单也是比较常见的一种操作. 具体代码如下: package com.xuanen.util; import java.util.Properties ...

  2. ACM2 斐波那契数列

    描述 在数学上,斐波那契数列(Fibonacci Sequence),是以递归的方法来定义: F0 = 0 F1 = 1 Fn = Fn - 1 + Fn - 2 用文字来说,就是斐波那契数列由0和1 ...

  3. BZOJ3172&lbrack;Tjoi2013&rsqb;单词 题解

    题目大意: 求一些字符串在一段文章中出现的次数. 思路: AC自动机的经典应用,建完自动机直接将队列里的元素调Fail指针记录即可. 代码: #include<cstdio> #inclu ...

  4. C&plus;&plus; GPU &amp&semi;&amp&semi; CPU

    #include <amp.h> #include <iostream> #include <winbase.h> //操作系统的底层文件 using namesp ...

  5. LED灯开关电路

    “灯控项目”中LED灯开关控制电路,LED供电电压12V,工作电流200mA. 电路图

  6. nsinteger 与 int 区别

    在苹果的api实现中,NSInteger是一个封装,它会识别当前操作系统的位数,自动返回最大的类型.   当你不知道你的操作系统是什么类型的时候,你通常会想要使用NSInteger,所以或许你想要你的 ...

  7. 使用cvReleaseImage&lpar;&rpar;释放图像出错

    前几天用opencv写程序的时候,在用cvReleaseImage()函数释放cvLoadImage()加载的图像的时候出错,如下所示: IplImage *src = cvLoadImage(fil ...

  8. jmeter接口测试报java&period;net&period;SocketException&colon; Socket closed错误。

    如题,jmeter报出java.net.SocketException: Socket closed,我查询了下,服务器是正常的,可以返回数据,基本确定问题出在我这边jmeter.查询原因,看到有人说 ...

  9. 控制台程序&lpar;C&num;&rpar;不弹出认证窗口连接到Dynamics CRM Online的Web API

    摘要: 本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复271或者20180602可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyon ...

  10. Android学习之位图BitMap

    BitMap代表一张位图,扩展名可以是.bmp或者.dib.位图是Windows标准格式图形文件,它将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2.4.8.16.24和32位色彩.例如 ...