-1

我在 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));
4

3 回答 3

1

您应该Set为此使用 a 。

Set<Integer> cardIndexes = new HashSet<Integer>();

它保证了添加到它的值的唯一性。

如果最后需要一个数组,可以使用 的toArray()方法Set来实现。

在这里您可以找到有关Set.

于 2013-05-16T12:48:00.410 回答
1

您可以使用Set

不包含重复元素的集合。

然后你可以使用Set#toArray()

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

您还可以ArrayListSet

List<Integer> list = new ArrayList<Integer>(yourSet);
于 2013-05-16T12:48:20.043 回答
1

你可以像这样使用哈希集。

HashSet <Integer> arr1=new HashSet<Integer>();
arr1.add(1);  
arr1.add(2);  
arr1.add(2);  
arr1.add(1);
于 2013-05-16T12:57:53.280 回答