在Java中查找ArrayList中循环对象的索引
IndexOf返回对象在ArrayList中的第一次出现。 假设我的代码是一个扑克玩家的手,我想知道他手中牌的索引。心脏的王牌在位置1和4。但对于心脏血管紧张素转换酶的出现,IndexOf返回位置1和1 问题: 1是否有其他方式获得价值?在Java中查找ArrayList中循环对象的索引,java,arraylist,Java,Arraylist,IndexOf返回对象在ArrayList中的第一次出现。 假设我的代码是一个扑克玩家的手,我想知道他手中牌的索引。心脏的王牌在位置1和4。但对于心脏血管紧张素转换酶的出现,IndexOf返回位置1和1 问题: 1是否有其他方式获得价值? 2是否应该使用其他数据结构,如HashMap或其他数据结构?List.indesOf方法将返回列表的第一个匹配项。但您的要求可以通过以下方式实现 public class NewMain { public static void main(String
2是否应该使用其他数据结构,如HashMap或其他数据结构?List.indesOf方法将返回列表的第一个匹配项。但您的要求可以通过以下方式实现
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));
}
}
这将解决您的问题:
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);
}
}
+if的简单组合?这能回答你的问题吗?这回答了你的问题吗?这将进一步增加复杂性,因为玩家的每一回合都会调用indexOfAll。因为卡的位置是保持不变的,所以我会坚持使用for循环。无论如何谢谢你!!
public class NewMain {
public static void main(String[] args) {
String abc="Ace of Hearts";
List<String> array = new ArrayList<String>();
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");
List<Integer> indexList= indexOfAll(abc,array);
System.out.println(indexList);
}
static <T> List<Integer> indexOfAll(T obj, List<T> list) {
final List<Integer> indexList = new ArrayList<Integer>();
for (int i = 0; i < list.size(); i++) {
if (obj.equals(list.get(i))) {
indexList.add(i);
}
}
return indexList;
}