在開發過程中,碰到生成一個List對象,需要對其里面的每個對象都進行校驗。但是,這個List有時候存在重復的數據。因此需要進行去重,以避免重復的校驗。
1.不帶類型寫法:
1
|
List listWithoutDup = new ArrayList( new HashSet(listWithDup)); |
2.帶類型寫法(以String類型為例):
1)Java 7以下寫法:
1
|
List<string> listWithoutDup = new ArrayList<string>( new HashSet<string>(listWithDup)); |
2)Java 7及以上寫法:
1
|
List<string> listWithoutDup = new ArrayList<>( new HashSet<>(listWithDup)); |
樣例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
import java.util.ArrayList; import java.util.HashSet; import java.util.List; public class Test { public static void main(String[] args) { List<string> listWithDup = new ArrayList<string>(); listWithDup.add( "1" ); listWithDup.add( "2" ); listWithDup.add( "3" ); listWithDup.add( "1" ); List<string> listWithoutDup = new ArrayList<string>( new HashSet<string>(listWithDup)); System.out.println( "list with dup:" + listWithDup); System.out.println( "list without dup:" + listWithoutDup); } } |
樣例運行結果:
list with dup:[1, 2, 3, 1]
list without dup:[3, 2, 1]