• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Java, Metoda z ArrayList

0 głosów
4,291 wizyt
pytanie zadane 23 października 2017 w Java przez newUser Użytkownik (520 p.)
Cześć, muszę napisać metodę, która  przyjmuje jako argument listę ArrayList obiektów , która również zwraca listę (nową) ArrayList obiektów typu String, mam problem z tym jak to napisać czy ktoś ma jakieś wskazówki?

Z góry dziękuje

4 odpowiedzi

+1 głos
odpowiedź 23 października 2017 przez adas94 Nałogowiec (29,200 p.)
    public List<String> methodA(List<Object> objects) { // zamiast Object twoja konkretna lista obiektów
        List <String> strings = new ArrayList<>();
// tutaj konwersja czy cokolwiek chcesz zrobić z tą listą obiektów
        return strings;
    }

Coś w ten deseń. 

0 głosów
odpowiedź 23 października 2017 przez Wiciorny Ekspert (283,300 p.)
public ArrayList<String> cosTam(ArrayList<JakisObiekt> list)

{

List <String> lista = new ArrayList<>();    

//i tu pytanie co masz zrobic  

return lista;

}

I pytanie teraz co masz zrobić? Czy wybrać wszystkie obiekty i wyszukac w nich "stringów" wtedy polecam  w pentli foreach ... po wszystkich elemntach wybrac jeśli wybrany element  JEST "instance of String"  to dodajesz go do nowej tabeli którą zwracasz np. 

INSTANCE-OF : https://www.javatpoint.com/downcasting-with-instanceof-operator

komentarz 24 października 2017 przez newUser Użytkownik (520 p.)
Przepraszam, nie String tylko Integer, i ta lista w środku ma stanowić podzbiór listy wejściowej z pominięciem liczb nieparzystych. Właśnie z tym walczę :)
komentarz 24 października 2017 przez newUser Użytkownik (520 p.)

Wyskrobałem coś takiego:

public class OddNumbersExterminator {

    Integer exterminate(ArrayList<Integer> numbers){

        Arraylist<Integer> even = new ArrayList<>();

        while (numbers.size() > 0) {
            Integer value = numbers.poll();
            if(value.length() % 2 == 0){
                even.add(value);
            } else {
                System.out.println("Something went wrong");
            }
        }
    }
}

 

komentarz 25 października 2017 przez Assasz Nałogowiec (30,460 p.)
edycja 25 października 2017 przez Assasz
public ArrayList<Integer> getEvenNumbers(ArrayList<Integer> list)
{
         ArrayList<Integer> evenNumbers = new ArrayList<>();
         
         for(int number : list)
         {
              if(number % 2 == 0)
              {
                    evenNumbers.add(number);
              }
         }

         return evenNumbers;
}

Taka najprostsza wersja.

EDIT: Nie zauważyłem, że już ktoś inny wrzucił dobre rozwiązanie.

0 głosów
odpowiedź 25 października 2017 przez adas94 Nałogowiec (29,200 p.)

Jako, że w jednym z komentarzy podałeś więcej szczegółów o co chodzi i sam podałeś prawie dobre rozwiązanie, to napiszę tutaj swoje : 

public List<Integer> getEvenNumbers(List<Integer> numbers) {
	List<Integer> evens = new ArrayList<>();
	for (Integer number : numbers) {
		if (number%2==0) {
			evens.add(number);
		}
	}
    return evens;
}

 

–1 głos
odpowiedź 23 października 2017 przez Assasz Nałogowiec (30,460 p.)

Coś takiego?

public ArrayList<String> cosTam(ArrayList<JakisObiekt> list)
{
    //cos tam
}

 

komentarz 25 października 2017 przez Assasz Nałogowiec (30,460 p.)
Ciekawe, dwa minusy za identyczną treść co odpowiedź z jednym plusem ;)
komentarz 25 października 2017 przez adas94 Nałogowiec (29,200 p.)
Też dostałem po minusie na każdą odpowiedź, więc to pewnie z automatu jakiś frustrat wrzucał :)

Podobne pytania

+1 głos
1 odpowiedź 959 wizyt
0 głosów
1 odpowiedź 224 wizyt
pytanie zadane 20 grudnia 2020 w Java przez T100 Obywatel (1,450 p.)
0 głosów
2 odpowiedzi 336 wizyt
pytanie zadane 5 grudnia 2020 w Java przez T100 Obywatel (1,450 p.)

93,742 zapytań

142,680 odpowiedzi

323,299 komentarzy

63,329 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...