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

「已注销」 2012-10-17 11:55:46
AAAA
AAAA
AAAA
BBBB
BBBB
CCCC
CCCC
CCCC
CCCC
遍历得到这些数据 不确定有多少种 也可能有DDDDD,不确定有每种数据有多少条 ,我想得到每种数据的单个 如AAAA BBBB CCCC,去除每种数据重复的部分!如何实现啊。求大概代码!!!!
...全文
96200 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
迎风奔跑 2014-08-22
  • 打赏
  • 举报
回复
id为索引,不会相同,其他字段可以相同,去除重复数据,如何过滤?
IccBoY 2014-07-07
  • 打赏
  • 举报
回复
引用 8 楼 a8509190 的回复:
ArrayList<String> result = new ArrayList<String>(); for(String s: sources){ if(Collections.frequency(reslut, s) < 1) result.add(s); }
个人觉得这个方法 还不如用contains方法,效率应该高点,碰到相同的就直接返回了,而 frequency 这个方法需要 把相同个数计算出来,势必要遍历整个list才知道重复的次数
kkmike999 2014-01-16
  • 打赏
  • 举报
回复
以上的回答都太复杂了~ 我给个简单的:

public static void main(String[] args) {
    List<Integer> list = new ArrayList<Integer>();
    list.add(1);
    list.add(1);
    list.add(2);
		
    list = new ArrayList<Integer>(new HashSet<Integer>(list));
}
仅仅一行代码就搞掂了~
dandongsoft 2013-08-05
  • 打赏
  • 举报
回复
没看懂啊啊啊啊啊啊啊啊 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
xiaoya13144111 2012-10-19
  • 打赏
  • 举报
回复
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

public class Test {
public static void main(String[] args) {

List list = new ArrayList();
list.add("A");
list.add("B");
list.add("C");
list.add("A");
list.add("A");
System.out.println(list.size());

Set s = new HashSet();
for(int i=0;i<list.size();i++){
s.add(list.get(i));

}
System.out.println(s.size());
for (Iterator iterator = s.iterator(); iterator.hasNext();) {
Object object = (Object) iterator.next();
System.out.print(object);
}
}

}
Kanepan 2012-10-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

Java code
ArrayList<String> result = new ArrayList<String>();

for(String s: sources){
if(Collections.frequency(reslut, s) < 1) result.add(s);
}
[/Quote]

学习 !!!
gaojava 2012-10-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

方法在主方法中直接用了,忘写static了,测试的话自己加上
[/Quote]

学习了
忧郁的苦笑 2012-10-19
  • 打赏
  • 举报
回复
3lou 的说法可以
绝版男子 2012-10-19
  • 打赏
  • 举报
回复
直接使用Set,简单快捷
Mourinho 2012-10-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
Java code
ArrayList<String> result = new ArrayList<String>();

for(String s: sources){
if(Collections.frequency(reslut, s) < 1) result.add(s);
}
[/Quote]

受教了。
anod 2012-10-19
  • 打赏
  • 举报
回复
我想最好的方法是选用特定的集合类来实现。Set都是不能包含重复元素的。另一个问题就是,如果是自定义类型,那么必须实现覆盖
public boolean equals(Object obj)
方法。
mash5_paul 2012-10-19
  • 打赏
  • 举报
回复
各种方法,学习了
zy116494718_ 2012-10-18
  • 打赏
  • 举报
回复
List list = new ArrayList();

list.add("AAAA");
list.add("AAAA");
list.add("BBBB");
list.add("CCCC");
list.add("DDDD");
list.add("AAAA");
list.add("BBBB");

List list1 = new ArrayList();

for(int z=0;z<list.size();z++)
{
if(!list1.contains(list.get(z))){
list1.add(list.get(z));
}
}
kamouswjw 2012-10-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

Java code
ArrayList<String> result = new ArrayList<String>();

for(String s: sources){
if(Collections.frequency(reslut, s) < 1) result.add(s);
}
[/Quote]
受教了。。。。
print_er 2012-10-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
Java code

ArrayList<String> result = new ArrayList<String>();

for(String s: sources){
if(Collections.frequency(reslut, s) < 1) result.add(s);
}
[/Quote]

+1
Xyze520 2012-10-18
  • 打赏
  • 举报
回复
方法2可以吗??[Quote=引用 1 楼 的回复:]

方法一:循环元素删除
// 删除ArrayList中重复元素
Java code
public static void removeDuplicate(List list) {
for ( int i = 0 ; i < list.size() - 1 ; i ++ ) {
for ( int j = list.size……
[/Quote]
huntor 2012-10-18
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

去除List使用HashSet最简单了:
[/Quote]
要看需要不需要保持初始的顺序了
aimsgmiss 2012-10-18
  • 打赏
  • 举报
回复
都是大神这部分需要学习哈
a8509190 2012-10-18
  • 打赏
  • 举报
回复
ArrayList<String> result = new ArrayList<String>();

for(String s: sources){
if(Collections.frequency(reslut, s) < 1) result.add(s);
}
xinlvye 2012-10-18
  • 打赏
  • 举报
回复
1楼强悍
加载更多回复(10)

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧