Java 找出哪个ArrayList编号包含我的搜索?
我正在寻找一种方法来找出,我可以在数组列表中找到什么。例如,我有以下列表:Java 找出哪个ArrayList编号包含我的搜索?,java,sorting,search,arraylist,contains,Java,Sorting,Search,Arraylist,Contains,我正在寻找一种方法来找出,我可以在数组列表中找到什么。例如,我有以下列表: #0659 Spoon 5 #0234 RGB-Lightning 8 #8453 Watercooling 50 现在我想知道RGB Lightning在列表中的位置。例如,我有一个这样的搜索:“35; 0659 Spoon”现在我想看看哪个部分包含它。我已经尝试了一些方法,但得到了NullPointerException:( 这段代码作为一个独立的代码工作,但在我的项目中它没有(我在数组列表中读到) intlauf
#0659 Spoon 5
#0234 RGB-Lightning 8
#8453 Watercooling 50
现在我想知道RGB Lightning在列表中的位置。例如,我有一个这样的搜索:“35; 0659 Spoon”
现在我想看看哪个部分包含它。我已经尝试了一些方法,但得到了NullPointerException
:(
这段代码作为一个独立的代码工作,但在我的项目中它没有(我在数组列表中读到)
intlaufvar=-1;
List haystack=Arrays.asList(新字符串[]{“ABCD”、“EFGH”、“IJ KL”、“M NOP”、“UVW X”});
List针=Arrays.asList(新字符串[]{“IJ”});
//为了减少迭代次数,创建一个大正则表达式来检查整个干草堆
StringBuilder sb=新的StringBuilder();
某人附加(“*”);
用于(线针:针){
附加(针)附加(“|”);
}
替换(sb.length()-1,sb.length(),“”*);
字符串regex=sb.toString();
for(字符串目标:haystack){
如果(!target.matches(正则表达式)){
laufvar++;
持续
}
用于(线针:针){
if(目标包含(针)){
laufvar++;
System.out.println(目标+“包含”+指针);
System.out.println(haystack.get(laufvar));
}
}
}
}
你的意思是:int id=yourarraylist.indexOf(“"0234 RGB Lightning 8”);对这种格式感到抱歉:(给我们看看你的代码我添加了它:p可能是重复的。唯一的区别是我需要知道它是列表的哪一部分。我以后需要在那里更改一些内容。不,我想知道我的arraylist包含哪些内容因为我后面没有“8”。
int laufvar = -1;
List<String> haystack = Arrays.asList(new String[] { "ABCD", "EFGH", "IJ KL", "M NOP", "UVW X" });
List<String> needles = Arrays.asList(new String[] { "IJ" });
// To cut down on iterations, create one big regex to check the whole haystack
StringBuilder sb = new StringBuilder();
sb.append(".*(");
for (String needle : needles) {
sb.append(needle).append('|');
}
sb.replace(sb.length() - 1, sb.length(), ").*");
String regex = sb.toString();
for (String target : haystack) {
if (!target.matches(regex)) {
laufvar++;
continue;
}
for (String needle : needles) {
if (target.contains(needle)) {
laufvar++;
System.out.println(target + " contains " + needle);
System.out.println(haystack.get(laufvar));
}
}
}
}