list集合去重問題

2021-10-01 18:52:20 字數 1660 閱讀 5766

集合去掉重複元素

1、字串去重

public

static

void

main

(string[

] args)

for(string s : set)

}

2、物件去重

package com.myproj.pojo;

public

class

people

public

void

setname

(string name)

public

intgetage()

public

void

setage

(int age)

public string get***()

public

void

set***

(string ***)

public

people()

public

people

(string name,

int age, string ***)

@override

public string tostring()

//重寫hashcode和equals方法

@override

public

inthashcode()

@override

public

boolean

equals

(object obj)

elseif(

!name.

equals

(other.name)

)return

false;if

(*** == null)

elseif(

!***.

equals

(other.***)

)return

false

;return

true;}

}

public

static

void

main

(string[

] args)

system.out.

println

("***************新增到set集合之前list中的people******************");

setset =

newhashset

();for

(people people : list)

system.out.

println

("***************新增到set集合之後******************");

for(people people : set)

}

//注意一定要在實體類中重寫hashcode方法和equals方法set方法才會達到去重的效果,

在這裡要注意的是:list是有序可重複的集合,而set是無序且不可以存重複元素的集合,但是對於物件來說,區分是否為同乙個物件,要注意它的hashcode。

3.對於有主鍵的物件來說,去重時,可以根據主鍵是唯一的特點去重。

List集合去重

第一種 list每remove掉乙個元素以後,後面的元素都會向前移動,此時如果執行i i 1,則剛剛移過來的元素沒有被讀取。string str1 newstring abcde1 string str2 newstring abcde2 string str3 newstring abcde3 s...

List集合去重

首先,我們都知道list集合是乙個儲存有序可重複元素的容器,那麼如果要對乙個list去重有哪些方法呢?方式一 迴圈list中的所有元素然後刪除重複 public static list removeduplicate list list return list public static list ...

如何對list集合物件去重

我們知道,list集合是乙個元素有序,可重複的集合,集合中每個元素都有對應的順序索引,我們通過索引進行取值賦值 那麼,當list集合中的元素為多個屬性組成的物件時,如何對list集合進行去重 因為物件是在記憶體中開闢一塊區域進行儲存,每個物件的值哪怕相同,但只要是你新new出來的,代表的也是不同的物...