gpt4 book ai didi

java - 查找存储在arraylist中的字符的索引值

转载 作者:行者123 更新时间:2023-12-02 07:59:44 28 4
gpt4 key购买 nike

我有一个字符串arraylist。如果其值等于特定字符,则需要获取所有元素的索引值。

例如,如果元素的值=“。”,则需要获取元素的索引值

使用 indexOf()lastIndexOf() 我只能分别找到第一个和最后一个出现的索引值。

ArrayList<String> als_data = new ArrayList<String>();

als_data[0] = "a"
als_data[1] = "b"
als_data[2] = "a"
als_data[3] = "c"
als_data[4] = "d"
als_data[5] = "a"

现在我需要找到“a”的索引

我的输出应该是这样的

0
2
5

请帮我做这件事。

最佳答案

String string = "a.b.cc.dddd.ef";

int index = 0;
while((index = string.indexOf('.', index)) != -1) {
index = string.indexOf('.', index);
System.out.println(index);
index++;
}

打印

1
3
6
11

如果您想对列表执行相同的操作,

List<String> list = new ArrayList<String>();

list.add("aa.bb.cc.dd");
list.add("aa.bb");
list.add("aa.bbcc.dd");

for (String str : list) {
printIndexes(str, '.');
System.out.println();
}

private void printIndexes(String string, char ch) {
int index = 0;
while((index = string.indexOf(ch, index)) != -1) {
index = string.indexOf(ch, index);
System.out.println(index);
index++;
}
}

将打印

2
5
8

2

2
7

编辑:作者澄清问题后更新

List<String> list = new ArrayList<String>();

list.add("abcd");
list.add("pqrs");
list.add("abcd");
list.add("xyz");
list.add("lmn");

List<Integer> indices = new ArrayList<Integer>();

for (int i = 0; i < list.size(); i++) {
if("abcd".equals(list.get(i))) {
indices.add(i);
}
}

System.out.println(indices);

关于java - 查找存储在arraylist中的字符的索引值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5236431/

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