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

Java, Metoda z ArrayList

Object Storage Arubacloud
0 głosów
3,866 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 (270,870 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ź 557 wizyt
0 głosów
1 odpowiedź 116 wizyt
pytanie zadane 20 grudnia 2020 w Java przez T100 Obywatel (1,450 p.)
0 głosów
2 odpowiedzi 163 wizyt
pytanie zadane 5 grudnia 2020 w Java przez T100 Obywatel (1,450 p.)

92,628 zapytań

141,491 odpowiedzi

319,861 komentarzy

62,010 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...