gpt4 book ai didi

java - 在Java中查找ArrayList中重复出现的对象的索引

转载 作者:行者123 更新时间:2023-12-02 08:59:22 25 4
gpt4 key购买 nike

public class NewMain {
public static void main(String[] args) {
ArrayList<String> array = new ArrayList<>();
array.add("Ace of Hearts");
array.add("King of Clubs");
array.add("Three of Spade");
array.add("Ace of Hearts");
array.add("Ten of Clubs");
for(String s: array)
System.out.println(s+"at postion: "+array.indexOf(s));
}
}

IndexOf() 返回对象在 ArrayList 中第一次出现的位置。假设我的代码是扑克玩家的一手牌,我想知道他所持牌的索引。 红桃 A 位于位置 1 和 4。但对于红桃 A 的两次出现,IndexOf() 返回的都是位置 1 和 1

问题:
1)还有其他方式获取该值吗?
2)我应该使用其他数据结构,例如 HashMap 还是其他数据结构?

最佳答案

List.indesOf() 方法将返回列表中的第一个匹配项。但您的要求可以通过以下方式实现。

    import java.util.ArrayList;

public class NewMain {
public static void main(String[] args) {
ArrayList<String> array = new ArrayList<>();
array.add("Ace of Hearts");
array.add("King of Clubs");
array.add("Three of Spade");
array.add("Ace of Hearts");
array.add("Ten of Clubs");
for(int i =0;i<array.size();i++)
System.out.println(array.get(i)+"at postion: "+i);
}
}

关于java - 在Java中查找ArrayList中重复出现的对象的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60276702/

25 4 0