Pozycja Stringa w ArrayList

0

Czy istnieje w JAVIE sposób na uzyskanie z ArrayList pozycji Stringa, zawierającego określoną frazę?

0

Tak. Musisz przeiterować (bezpośrednią pętlą lub strumieniem) po liście i sprawdzić każdego Stringa z osobna.

0

Możesz zrobić to tak:

        List<String> strings = Arrays.asList("qwerabcuiop", "asdfg", "lkjh");
        Optional<Integer> option = strings.stream()
                .filter(s -> s.contains("abc"))
                .findAny()
                .map(strings::indexOf);
        if(option.isPresent()) {
            int position = option.get();
            System.out.println(position);
        } else {
            //Brak takiego stringa w liście.
        }
 
0

Tutaj to samo co wyżej, tylko że zrobione dzięki pętli

ArrayList<String> strings = new ArrayList<String>();
    	strings.add("qwerabcuiop");
    	strings.add("asdfg");
    	strings.add("lkjha");
    	
    	for(int i = 0; i < strings.size(); i++) {
    		if(strings.get(i).contains("asd")){
    			System.out.println(strings.get(i));
    		}
    	}
0

Dzięki za odpowiedzi.
Glodi, w Twojej pętli trzeba jeszcze dodać pobranie pozycji. I chyba w tym miejscu można wykorzystać IndexOf. Wydaje mi się, że przedstawiony niżej sposób będzie najprostszy.

ArrayList<String> strings = new ArrayList<String>();
		   strings.add("Ala ma kota");
		   strings.add("Ola ma dwa koty");
		   strings.add("Wszystkie trzy wkuuuurzają Asa");

           for(int i = 0; i < strings.size(); i++)
		   {
	  	    if(strings.get(i).contains("dwa koty"))
	          {
		        System.out.println(strings.indexOf(strings.get(i)));
	          }
	       }	

1 użytkowników online, w tym zalogowanych: 0, gości: 1