List 去掉物件元素

2021-06-21 07:49:52 字數 791 閱讀 3123

經常需要將list中重複元素去掉,或者判斷兩個list中相同的元素。

1、通過set介面,set 不包含滿足e1.equals(e2)

hashset set = new hashset(list2);

list2.clear();

list2.addall(set);

2、普通方法,每個元素在list中進行比較   

for (int i = 0; i < list.size() - 1; i++)

}}

3、還是通過set 介面

set set = new hashset();

list newlist = new arraylist();

for (iterator iter = list.iterator(); iter.hasnext();)

list.clear();

list.addall(newlist);

如果是物件元素,必須重寫eauals方法和hashcode方法

例如:

@override

public boolean equals(object obj)

if (obj instanceof userquestion)

}return false;

}@override

public int hashcode()

set 中物件元素插入與查詢

使用 set find 函式在 set 集合中尋找元素時,若元素定義了 operator 方法,則使用此函式在 set 維護的紅黑樹中查詢。否則編譯時期報錯。還可以通過給 set 指定第二個泛型型別 彷函式 此時,不需要再定義 operator 如 class processinfosortrule...

物件導向 元類

1.exec 1 exec source,globals none,locals none,2 execute the given source in the context of globals and locals.34 the source may be a string representi...

python 去掉list中的重複元素

def f1 seq not order preserving set map set.setitem seq,return set.keys def f2 seq order preserving checked for e in seq if e not in checked return ch...