gpt4 book ai didi

Java - 在存储对象列表中查找字符串的位置

转载 作者:行者123 更新时间:2023-11-29 06:44:19 25 4
gpt4 key购买 nike

我想这个问题的标题说明了一切,或者什么也没说...经过几个小时的谷歌搜索、尝试和 reshape Java,我决定问问你。

我有这个存储类:

class AppInfo implements Comparable<AppInfo > {
private String appname = "";
private String pname = "";
private String versionName = "";
//private int versionCode = 0;
private Drawable icon;
private String appdir = "";
private String appSize = "";

@Override
public int compareTo(AppInfo other) {
int compareAppsName = appname.compareToIgnoreCase(other.appname);

return compareAppsName;
}

}

我做我做的事,最终我得到一个充满对象的列表。一切正常,ListView 填充了正确的数据...

现在我想搜索一个字符串(某个 pname),看看它是否存在于列表中,如果存在,它在列表中的位置(它的索引)。

尝试用我需要的数据创建另一个列表..尝试过列表、HashMaps、LinkedHashMap、二维数组/arrayList...没有任何效果...还尝试迭代列表,但无法弄清楚如何处理我得到的元素。

希望我能说得通,这甚至是可能的。

披露:请耐心等待,我是 Java 的新手。

最佳答案

我不完全确定我理解你的问题,但如果你想找到具有给定 pname 值的列表元素的索引,你可以这样做:

List<Integer> indices = new ArrayList<Integer>();
for (int i = 0; i < list.size(); i++) {
String panme = list.get(i).getPname();
if (pname != null && pname.equals(expectedPname));
indices.add(i);
}
}

我刚刚重读了您的问题,听起来您只希望索引出现一次。对困惑感到抱歉。为此,您可以在没有附加列表的情况下使用相同的想法:

int matchingIndex = -1;
for (int i = 0; i < list.size(); i++) {
String pname = list.get(i).getPname();
if (pname != null && pname.equals(expectedPname));
matchingIndex = i;
break;
}
}

关于Java - 在存储对象列表中查找字符串的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7623700/

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