當前位置:首頁 » 凈水方式 » list過濾重復數據

list過濾重復數據

發布時間: 2021-01-02 01:57:25

A. 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插件也存在去重復的方法。

B. C#中 list<object> 去除重復的數據 求最簡單的方法!!

//導入linq命名空間, 然後distinct一下就可以了. 關鍵代碼如下:

using System.Linq;

//比如,list實例為list

var obj = list.Distinct();

//或者麻煩點要根據list的欄位xxx過濾回就是

var obj_1=from p in list select p.xxx distinct();

擴展答資料

list()函數與array()類似,只是它可以在一次操作中從一個數組內提取多個值,同時為多個變數賦值。其形式如下:

voidlist(mixed…)

從資料庫或文件中提取信息時,這種構造尤其有用。例如,假如你希望格式化並輸出從一個文本,文件中讀取信息。文件的每一行都包含用戶信息,如姓名、職業和喜愛的顏色,每一項用豎線分隔。典型的一行如下所示:

Nino Sanzi|profesional golfer|green

可以通過一個簡單的循環使用list()來讀取每一行,將各部分數據賦給變數,按照需要格式化並輸出數據。

C. 如何去掉一個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);
}

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 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);
}
}

D. 如何在List集合中排除重復的數據

它這個要求也就是讓最後輸出的結果為[a, c, d, f],把出現一次以後的元素只剩下內一個: 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);}}} 因為這道題我們的思路是,先循環遍歷集合中的每一個元素,再依次用集合中的元素去比對後面的元素,如果有相同的,就在集合中把當前的元素移除掉,那麼,重點來了, 你移除了當前的集合,那麼

E. 如何過濾list中的重復數據

public class TesFilterList {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("123");
list.add("nihao");
list.add("nihao");
list.add("nihao");
list.add("nihao");
list.add("456");
list.add("789");
int len = list.size();
for(int i=0; i<len-1; i++){
String temp = list.get(i);
for(int j=i+1; j<len; j++){
if(temp.equals(list.get(j))){
list.remove(j);
j-- ;
len-- ;
}
}
}

for(int m=0; m<len; m++){
System.out.print(list.get(m) + " ");
}
}
}

F. list<string>如何去除重復數據

屬性是???? 先給你一個看看是不是你需要的好了, // 利用 Set 的特性,將所有項目放回入 Set //中即可移除重復的答項目 Set<String> stringSet = new HashSet<String>(); for (String element : plicateArray) { stringSet.add(element); } // Set.size() 為不重復項目的個數 String nonDuplicateArray[] = new String[stringSet.size()]; // 將 Set 中的項目取出放到 nonDuplicateArray 中 Object[] tempArray = stringSet.toArray(); for (int i = 0; i < tempArray.length; i++) { nonDuplicateArray[i] = (String) tempArray[i]; }

G. 如何去除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);}

(7)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): 在指定位置插入一個元素。

H. java取List中重復的數據!

packageacc.testJSON;

importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.List;
importjava.util.Map;
importjava.util.Map.Entry;
importjava.util.Set;

publicclassAA{



publicstaticvoidmain(String[]args){
List<Map<Integer,String>>list=newArrayList<Map<Integer,String>>();

Map<Integer,String>map2=newHashMap<Integer,String>();
map2.put(1,"美元");
map2.put(2,"日元");

map2.put(3,"歐元");
map2.put(4,"日元");
map2.put(5,"人民幣");
map2.put(10,"歐元");

list.add(map2);



System.out.println("--------之前---------------");
for(inti=0;i<list.size();i++){
Map<Integer,String>tempMap=list.get(i);
for(Entry<Integer,String>e:tempMap.entrySet()){
System.out.println("K:"+e.getKey()+"v:"+e.getValue());
}}

System.out.println("---------------------開始處理--------------------------");
List<Map<String,Integer>>newList=newArrayList<Map<String,Integer>>();
AAaa=newAA();
newList=aa.executMoedth(list);//如果有相同的


System.out.println("--------之後---------------");

for(inti=0;i<newList.size();i++){
Map<String,Integer>tempMap=newList.get(i);
for(Entry<String,Integer>e:tempMap.entrySet()){
System.out.println(e.getValue()+":"+e.getKey());
}}


}


publicList<Map<String,Integer>>executMoedth(List<Map<Integer,String>>list){

System.out.println("---------------------處理中--------------------------");
List<Map<String,Integer>>newList=newArrayList<Map<String,Integer>>();
Map<String,Integer>newMap=newHashMap<String,Integer>();

for(inti=0;i<list.size();i++){

Map<Integer,String>tempMap=list.get(i);//第i個list中的Map

for(Entry<Integer,String>e1:tempMap.entrySet()){//map遍歷
inttempi=0;
for(Entry<Integer,String>e2:tempMap.entrySet()){//map遍歷

if(e1.getValue().equals(e2.getValue())){//如果相等


if(!e1.equals(e2))
/*tempi++;
if(tempi>=1)*/
{
//newMap.remove(e1.getKey());//移除第一個添加的
intnewValus=e1.getKey()+e2.getKey();//得到總錢數
StringnewKey=e1.getValue();

newMap.remove(e1.getValue());//幹掉
newMap.remove(e2.getValue());//幹掉
System.out.println("找到一個已處理:"+newKey+newValus);

newMap.put(newKey,newValus);//新集合

}
//如果新集合里沒有的
if(!newMap.containsKey(e1.getValue()))
newMap.put(e1.getValue(),e1.getKey());//新集合


}

}

}

newList.add(newMap);//新集合

}
returnnewList;

}

}

I. 關於List集合中用Set排除重復數據。

直接這樣就行了,上面的圖片是代碼及輸出結果,其中s2和s4是重復的,但是內輸出的結果中沒有重容復值

publicstaticvoidmain(String[]args){

SetmyList=newHashSet();

Strings1="aa";

Strings2="bb";

Strings3="cc";

Strings4="bb";

myList.add(s1);

myList.add(s2);

myList.add(s3);

myList.add(s4);

ListmyNeedList=newArrayList(myList);

System.out.println(myNeedList);

}

J. 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));
}

熱點內容
丁度巴拉斯情人電影推薦 發布:2024-08-19 09:13:07 瀏覽:886
類似深水的露點電影 發布:2024-08-19 09:10:12 瀏覽:80
《消失的眼角膜》2電影 發布:2024-08-19 08:34:43 瀏覽:878
私人影院什麼電影好看 發布:2024-08-19 08:33:32 瀏覽:593
干 B 發布:2024-08-19 08:30:21 瀏覽:910
夜晚看片網站 發布:2024-08-19 08:20:59 瀏覽:440
台灣男同電影《越界》 發布:2024-08-19 08:04:35 瀏覽:290
看電影選座位追女孩 發布:2024-08-19 07:54:42 瀏覽:975
日本a級愛情 發布:2024-08-19 07:30:38 瀏覽:832
生活中的瑪麗類似電影 發布:2024-08-19 07:26:46 瀏覽:239