經常需要將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...