2016-06-18 6 views
-3

Ich habe ein Array Liste abc, die bestimmte Werte hat -alle Werte von Arraylist in einen String Vergleichen

ArrayList<String> abc = new ArrayList<>(); 
abc.add("hi"); 
abc.add("hello Yash"); 
abc.add("i am Yash"); 
String x = "Yash"; 

Nun, ich möchte wissen, ob x in einem der Elemente von abc enthalten ist.
Wenn es ist, dann erhalten Sie den Index der Elemente, die x enthalten.

+0

Sie sollten einen regulären Ausdruck schreiben enthält und die Arraylist Interate Trog, dann, wenn es entspricht dem Index zurückgeben. –

+0

Ich habe gerade damit begonnen – Yash

+0

zeigen Sie uns, was Sie bisher versucht haben –

Antwort

2

ist hier eine einfache Lösung:

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); 
      } 
     } 
    } 
} 

Es gibt Ihnen 1 und 2 als Indizes, die den Text „Yash“

+0

Danke für mich gearbeitet – Yash

+0

Gern geschehen. –

0

du auf 2 verschiedene Arten erreichen können ...

  1. Die alte Schule
  2. und die Lambda-Ausdrücke Weg

Alte Schule Beispiel:

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); 
} 

Lambdas Weg Beispiel:

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()); 
} 

fühlen Sie sich frei zu entscheiden ....

0

Unter der Annahme, dass abc ein List<String> und x ist ein String dann sollte dies den Trick.

List<Integer> indexes = new LinkedList<Integer>(); 
for(int i = 0; i < abc.size(); i++) 
{ 
    if(abc.get(i).contains(x)) 
     indexes.add(i); 
} 

Nach der Schleife beendet alle Indizes der Elemente, die x enthalten in der indexes Liste sein wird.

Verwandte Themen