gpt4 book ai didi

java - ArrayList,获取值,从 index() 到 index()

转载 作者:搜寻专家 更新时间:2023-11-01 01:12:55 25 4
gpt4 key购买 nike

大家好,我正在尝试从我创建的 ArrayList 中获取值。我有一些索引,我只想在我想要的索引之间打印数据,到目前为止我已经完成了,但它似乎不起作用。我认为 get() 对我想要的东西无效...有什么想法吗?

public static void main(String[] args) throws Exception {

Scanner dataSc = new Scanner(new FileReader("StudData1.txt"));

ArrayList<String> ArrayData = new ArrayList<String>();
ArrayList<String> idData = new ArrayList<String>();
ArrayList<String> idIndex = new ArrayList<String>();

int b = 0;
int a = 0;
int i = 0;

while (dataSc.hasNextLine()) {
String data = dataSc.nextLine();
ArrayData.add(i, data);

if (data.contains("ID: ")) {
idData.add(a, data);
idData.set(a, (idData.get(a).replaceAll("[\\D]", "")));

a++;
b++;
}

i++;
idIndex.add(b, Integer.toString(i));
}

int idSt1 = Integer.parseInt(idData.get(0));
int idSt2 = Integer.parseInt(idData.get(1));
int idSt3 = Integer.parseInt(idData.get(2));

int idxID1 = Integer.parseInt(idIndex.get(0));
int idxID2 = Integer.parseInt(idIndex.get(1));
int idxId3 = Integer.parseInt(idIndex.get(2));

if (idSt1 < idSt2 && idSt2 < idSt3) {

System.out.println(ArrayData.get(idxID1-3 , idxID2-3 );}
}

}

最佳答案

使用 for 循环很容易完成。

    for(int i = startindex+1; i<endindex; i++) {
System.out.println(ArrayData.get(i));
}

此循环将打印数组列表中给定索引之间的所有对象。但是没有名为 get() 的方法返回给定索引之间的项目集合,您只能使用 subList(arg0, arg1) 方法创建一个子集合,然后迭代这个子集。查看文档 http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html#get%28int%29

例子:

    List<String> al = new ArrayList<>();
al.add("a");
al.add("b");
al.add("c");
al.add("d");

List<String> sublist = al.subList(0, 3); //inclusive index 0, exclusive index 3

for(String s : sublist)
System.out.println(s);

输出:a, b, c

关于java - ArrayList,获取值,从 index() 到 index(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21752760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com