java list<object>如何去重

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java list<object>如何去重相关的知识,希望对你有一定的参考价值。

List<String> list = new ArrayList<>();
/*list.add("abc");
list.add("abc");
list.add("def");
list.add("bcd");*/
Set<String> set = new LinkedHashSet<>();//这种方式保证去重后的元素相对位置不变
//Set<String> set = new HashSet<>();//这种方式去重后元素的位置很有可能变化了
set.addAll(list);
list.clear();
list.addAll(set);
for(String s : list)
System.out.println(s);

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

参考技术A 方法一: 通过Iterator 的remove方法
public void testList()

List<Integer> list=new ArrayList<Integer>();

list.add(1);
list.add(2);
list.add(4);
list.add(1);
list.add(2);
list.add(5);
list.add(1);
List<Integer> listTemp= new ArrayList<Integer>();
Iterator<Integer> it=list.iterator();
while(it.hasNext())
int a=it.next();
if(listTemp.contains(a))
it.remove();

else
listTemp.add(a);


for(Integer i:list)
System.out.println(i);



lhkzyz

java List 去重(两种方式)

博客分类:

java

java

方法一: 通过Iterator 的remove方法

Java代码

public void testList()

List<Integer> list=new ArrayList<Integer>();

list.add(1);

list.add(2);

list.add(4);

list.add(1);

list.add(2);

list.add(5);

list.add(1);

List<Integer> listTemp= new ArrayList<Integer>();

Iterator<Integer> it=list.iterator();

while(it.hasNext())

int a=it.next();

if(listTemp.contains(a))

it.remove();



else

listTemp.add(a);





for(Integer i:list)

System.out.println(i);




public void testList()

List<Integer> list=new ArrayList<Integer>();

list.add(1);
list.add(2);
list.add(4);
list.add(1);
list.add(2);
list.add(5);
list.add(1);
List<Integer> listTemp= new ArrayList<Integer>();
Iterator<Integer> it=list.iterator();
while(it.hasNext())
int a=it.next();
if(listTemp.contains(a))
it.remove();

else
listTemp.add(a);


for(Integer i:list)
System.out.println(i);



方法二:直接将结果赋值给另一个List
public void testList2()
List<Integer> list=new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(4);
list.add(1);
list.add(2);
list.add(5);
list.add(1);
List<Integer> tempList= new ArrayList<Integer>();
for(Integer i:list)
if(!tempList.contains(i))
tempList.add(i);


for(Integer i:tempList)

System.out.println(i);

本回答被提问者采纳

list<String>如何转化为Map<String, Object>,list<EmpVO>如何转化为Map<String, Object>

望解答,小弟感激不尽、、、

Map<key,value>是通过键值对(key-value)一一对应,list<String>的元素做为值(value)进行保存,自定义String的键(key)来与之关联。后者类似啊,EmpVO做值,自定义的String做键。 参考技术A public class Test

public static void main(String[] args)
java.util.ArrayList<java.util.Map<String, Object>> list = new java.util.ArrayList<java.util.Map<String,Object>>();
java.util.Map<String, Object> maps = new java.util.HashMap<String, Object>();
maps.put("empName","张三");
list.add(maps);
maps = new java.util.HashMap<String, Object>();
maps.put("empName", "李四");
list.add(maps);
for(java.util.Map<String, Object> map : list)
System.out.println(map.get("empName"));





希望是你需要的

以上是关于java list<object>如何去重的主要内容,如果未能解决你的问题,请参考以下文章

java 如何将List<Object[]>转换成List<实体>?

如何在播放框架 Java 中将 List<Object> 转换为 JSON

list<String>如何转化为Map<String, Object>,list<EmpVO>如何转化为Map<String, Object>

java 从数据库中返回来的数据list<Map<String ,Object>> 做拼接处理

java如何获得泛型中的类

java 将Object转成List