⑴ JAVA中,如何去掉LIST里的重复元素
最好的办来法是用Set,因为Set里面自存放的数据是不重复的。
如果你不想用Set,那还可以向下面这样处理。
List list_tmp = new ArrayList(); //建立一个用于临时存放不重复list元素的List集合。
for(Object obj:list){
//可以根据需要,在这里加上强制转型。
//如list里面存放的是一个User对象,那么加上User u = (User) obj;
if(!list_tmp.contains(obj)){ //注意contains方法是通过equals方法进行比较的所以你要根据你自己的需要看是否需要重写list对象里面的equals方法。
list_tmp.add(obj);//如果上面加了强制转型,这里需要写list_tmp.add(u);
}
}
⑵ 如何去除LIST里的重复元素并合并相同的对象
最好的办法是用Set,因为Set里面存放的数据是不重复的。
如果你不想用Set,那还可以向下面这样处理。
List list_tmp = new ArrayList(); //建立一个用于临时存放不重复list元素的List集合。
for(Object obj:list){
//可以根据需要,在这里加上强制转型。
//如list里面存放的是一个User对象,那么加上User u = (User) obj;
if(!list_tmp.contains(obj)){ //注意contains方法是通过equals方法进行比较的所以你要根据你自己的需要看是否需要重写list对象里面的equals方法。
list_tmp.add(obj);//如果上面加了强制转型,这里需要写list_tmp.add(u);
}
}
⑶ js中如何去除list中的重复数据
最笨的方法:复
varlist=[1,2,3,6,7,8,9,1,2,3,6];//有重复的数组
varobj={};//用于制标记字符串
vararr=[];//去掉重复后的数组
for(vari=0,len=list.length;i<len;i++){
vars=list[i];
if(obj[s])continue;//如果字符串已经存在就跳过
else{
obj[s]=s;//加入标记对象中
arr.push(s);//结果放入新数组中
}
}
当jquery中有封装好的去重复方法,还有其他第三方js插件也存在去重复的方法。
⑷ 判断list里是否有重复元素/元素是否完全相同
如果是抄单纯的判断是否有袭相同的元素的话,我有两个思路。
1.
最笨的办法就是两个for循化遍历。
2.
把两个list的元素放入一个set中,然后调用set的clear()清除重复元素,最后比较清楚前与清除后的元素个数,没变就没有重复元素,否则有之。
⑸ 如何去除List集合中重复的元素
1、通过循环进行删除
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);}
2、通过HashSet删除
public static void removeDuplicate(List list) {
HashSet h = new HashSet(list);
list.clear();
list.addAll(h);
System.out.println(list);}
(5)list过滤重复元素扩展阅读:
List集合代表一个元素有序,可重复的集合,集合中每个元素都有对应的顺序索引。List接口中增加了一些根据索引操作元素的方法:
void add(int index,E element ) 在列表的指定位置插入该元素。
boolean addAll(int index,Collection c) 将集合c包含的所有元素都插入到List集合的index处。
Object get(int index) 返回集合index索引出的元素。
List额外提供的一个listIterator()方法,提供了专门操作List的方法。
ListIterator接口在Iterator的基础上增加了如下方法:
boolean hasPrevious(): 返回该迭代器关联的集合是否还有上一个元素。
Object previous(): 返回该迭代器的上一个元素。
void add((E e): 在指定位置插入一个元素。
⑹ 在JAVA中,两个List,要从第一个List中去除所有第二个List中与之重复的元素
将List2转为Map,Employee属性作为key,对象为value,循环list1判断key是否在Map中 有就移除
⑺ 如何在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();) {
Objectelement = iter.next();
if (set.add(element))
newList.add(element);
}
list.clear();
list.addAll(newList);
System.out.println( " remove plicate " + list);
}
4、定义一个方法,调用即可。
publi List<String> getNewList(List<String> li){
List<String> list = new ArrayList<String>();
for(int i=0; i<li.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){
ArrayList<String> arr = new ArrayList<String>();
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) {
List<String> list = new ArrayList<String>();
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 plicate " + list);
}
}
⑻ Java判断list中是否有重复元素
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public static void main(String[] args) {
Set<String> s = new HashSet<String>();
List<String> l = new ArrayList<String>();
l.add("1");
l.add("2");
l.add("2");
l.add("3");
for (String str : l) {
boolean b = s.add(str);
if(!b){
System.out.println(str);
}
}
}
用set判断,并且可以找出哪个重复,set内的元素专是不可重复的。属
⑼ java 怎样把list中相同的数据找出来
//初始化list
<Integer>list=newArrayList<Integer>();
list.add(1);
list.add(21);
list.add(1);
list.add(3);
list.add(3);
list.add(3);
//set中存放的是不可重复的元素
HashSet<Integer>set=newHashSet<Integer>();
//这里存放的是所有重复的元素,如果你只想知道是哪几个数字重复了,不需要知道具体重复了几次,可以用HashSet
List<Integer>repeatElements=newArrayList<Integer>();
for(inti=0;i<list.size();i++){
intvalue=list.get(i);
if(set.contains(value)){
//重复元素
repeatElements.add(value);
}
else{
set.add(value);
}
}
//输出重复的元素
for(inti=0;i<repeatElements.size();i++){
System.out.println(repeatElements.get(i));
}
⑽ 过滤List中的重复元素有没有什么高效的算法(C#语言)
第一,添加之前检测
第二,如果List有更改,那就只有遍历检测,因为不能确定List中的对象是什么类型的