Java 我想跳过添加存储在数组中的相同值

Java 我想跳过添加存储在数组中的相同值,java,arrays,Java,Arrays,我在cardlist数组中添加了一些数组索引。我想避免添加那些 有相同的价值。我需要改变什么 playerHand.player_hand.add(cardList.get(lastCardIndex)); playerHand.player_hand.add(cardList.get(lastCardIndex - 1)); playerHand.player_hand.add(cardList.get(lastCardIndex - 2)); playerHand.player_hand.a

我在cardlist数组中添加了一些数组索引。我想避免添加那些 有相同的价值。我需要改变什么

playerHand.player_hand.add(cardList.get(lastCardIndex));
playerHand.player_hand.add(cardList.get(lastCardIndex - 1));
playerHand.player_hand.add(cardList.get(lastCardIndex - 2));
playerHand.player_hand.add(cardList.get(lastCardIndex - 3));
playerHand.player_hand.add(cardList.get(lastCardIndex - 4));

为此,您应该使用
集合

Set<Integer> cardIndexes = new HashSet<Integer>();
Set cardIndexes=new HashSet();
它保证了添加到其中的值的唯一性

如果在末尾需要一个数组,可以使用
Set
toArray()
方法来实现这一点

您可以找到有关
Set

的详细信息。您可以使用:

不包含重复元素的集合

然后您可以使用:

返回包含此集合中所有元素的数组

您还可以从
集合中获得
阵列列表

List<Integer> list = new ArrayList<Integer>(yourSet);
List List=newarraylist(yourSet);

您可以像这样使用hashset

HashSet <Integer> arr1=new HashSet<Integer>();
arr1.add(1);  
arr1.add(2);  
arr1.add(2);  
arr1.add(1);
HashSet arr1=newhashset();
1.加入第(1)款;
1.加入第(2)款;
1.加入第(2)款;
1.加入第(1)款;