我有具有一定值的數組列表abc
-比較數組列表的所有值的字符串
ArrayList<String> abc = new ArrayList<>();
abc.add("hi");
abc.add("hello Yash");
abc.add("i am Yash");
String x = "Yash";
現在,我想知道,如果x
包含在任何的abc
元素。
如果是,則獲取包含x
的元素的索引。
我有具有一定值的數組列表abc
-比較數組列表的所有值的字符串
ArrayList<String> abc = new ArrayList<>();
abc.add("hi");
abc.add("hello Yash");
abc.add("i am Yash");
String x = "Yash";
現在,我想知道,如果x
包含在任何的abc
元素。
如果是,則獲取包含x
的元素的索引。
這裏有一個簡單的解決方案:
public class FindText
{
public static void main(String[] args)
{
ArrayList<String> abc = new ArrayList<>();
abc.add("hi");
abc.add("hello Yash");
abc.add("i am Yash");
String x = "Yash";
for(int i=0; i<abc.size(); i++)
{
if(abc.get(i).contains(x))
{
int index = i;
System.out.println(index);
}
}
}
}
它給你1和2的指標,其中包括文本「佳日」
感謝爲我工作 – Yash
不客氣。 –
您可以使用兩種不同的方式實現這一目標?
public static void main(String[] args) {
List<String> abc = new ArrayList<>();
abc.add("hi");
abc.add("hello Yash");
abc.add("i am Yash");
String x = "Yash";
List<String> resultOldSchool = new ArrayList<>();
for (String sentence : abc) {
if (sentence.contains(x)) {
resultOldSchool.add(sentence);
}
}
System.out.println(resultOldSchool);
}
public static void main(String[] args) {
List<String> abc = new ArrayList<>();
abc.add("hi");
abc.add("hello Yash");
abc.add("i am Yash");
String x = "Yash";
List<String> resultJava8 = findStringInList(abc, x);
if (!resultJava8.isEmpty()) {
System.out.println(resultJava8);
}
}
public static List<String> findStringInList(final List<String> list, final String strng) {
return list.stream().filter(s -> s.contains(strng)).collect(Collectors.toList());
}
隨意決定....
假設abc
是List<String>
和x
是String
那麼這應該做的伎倆。
List<Integer> indexes = new LinkedList<Integer>();
for(int i = 0; i < abc.size(); i++)
{
if(abc.get(i).contains(x))
indexes.add(i);
}
循環結束後,包含x
將在indexes
列表中元素的所有索引。
你應該寫一個正則表達式和interate槽ArrayList中,那麼如果它匹配返回索引。 –
我剛開始用它 – Yash
讓我們瞭解您到目前爲止試過 –