Kezdőoldal » Számítástechnika » Programozás » Java List-ben melyik elem...

Java List-ben melyik elem forful elő legtöbbször?

Figyelt kérdés
2019. május emelt informatika érettségi Java programozási részét csinálom. A harmadik feladatban a kérdés: melyik azaz elem, amely legalább kétszer fordul elő a listában? Erre valami megoldást kérhetnék esetleg?

2020. máj. 15. 21:44
 1/9 anonim ***** válasza:

Most akkor mi a kérdés?

Melyik elem fordul elő legtöbbször, vagy melyik elem fordul elő legalább kétszer?

Utóbbi esetben csak az első ilyen elem kell, vagy az összes?

Mi okozza a problémát és hogy néz ki az eddigi kódod?

2020. máj. 15. 21:56
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:
Nem tudtam átírni már a kérdést. Az lett volna, hogy legalább kétszer mi fordul elő
2020. máj. 15. 22:55
 3/9 anonim ***** válasza:
Csinálsz egy mapet mint <elem, int>, végigmész az eredeti listán, és folyton növeled az elemhez tartozó intet, a végigmész a kulcsokon, hogy melyik > 1
2020. máj. 16. 01:22
Hasznos számodra ez a válasz?
 4/9 anonim ***** válasza:
Nem kell inteket növelni, elég egy boolean értéket állítani és a kulcsokon sem kell végig menni utána, lehet menet közben vizsgálni az értékeket.
2020. máj. 16. 08:31
Hasznos számodra ez a válasz?
 5/9 A kérdező kommentje:

System.out.println("2. feladat");

System.out.print("Kérem a nap számot: ");

Scanner bill = new Scanner (System.in);

int bekert = bill.nextInt();


int vane = 0;

String ujrendszam = "";

String vmi = "";


for (int i = 0; i < lista.size(); i++) {

if (bekert == lista.get(i).nap) {

ujrendszam = lista.get(i).rendszam;

}

for (int j = i; j < lista.size(); j++) {

if (ujrendszam == lista.get(j).rendszam) {

vane++;

vmi = ujrendszam;

}

}


}

//System.out.println(vane);

if (vane == 1) {

System.out.println(ujrendszam);

}

2020. máj. 16. 11:15
 6/9 A kérdező kommentje:
egyenlőre ez a kódom
2020. máj. 16. 11:15
 7/9 anonim ***** válasza:
29%

Map<String, Integer> m = new HashMap<>();

for(String elem : lista) {

if(!m.contains(elem)){

m.put(elem, 1);

else {

m.put(elem, m.get(elem)+1));

}


ArrayList<Integer> legalabbKetszer = .....

for(Map.Entry<String, Integer> e : m.entrySet()){

if(e.getEntry >= 2) {

legalabbKetszer.add(e.getKey);

}

}


Nagyjából ennyi

2020. máj. 22. 12:39
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:
29%
Ja, látom objektumokkal csináltad, akkor a String helyett az objektum nevét
2020. máj. 22. 12:50
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:
100%
lista.stream().filter(n -> Collections.frequency(lista, n) > 1).collect(Collectors.toList());
2020. máj. 22. 13:10
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!