ArrayList<Item> vyhledavani – Java – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

ArrayList<Item> vyhledavani – Java – Fórum – Programujte.comArrayList<Item> vyhledavani – Java – Fórum – Programujte.com

 

Honza
~ Anonymní uživatel
450 příspěvků
28. 6. 2009   #1
-
0
-

Ahoj mam arrayList<Item>, kde kazdy Item obsahuje jmeno, prijmeni... Potrebuju poradit jak ziskam novy ArrayList<Item>, kde budou treba jen lide se jmenem Petr.

Nahlásit jako SPAM
IP: 212.158.136.–
Jura
~ Anonymní uživatel
637 příspěvků
28. 6. 2009   #2
-
0
-

Zdravím,

na tom by snad nemělo být nic složitého - stačí projít kolekci a najit co potřebuješ. A aby se to dalo používat trochu univerzálněji, tak bys mohl použít generické typy. Tady je příklad, tak si z něj vypreparuj to podstatné:




package copyif;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Comparator;
import java.util.Iterator;


public class Main {

interface Condition<T>
{
public boolean condition(T o);
}

public static class CollectionUtils
{
public static<T> void copyIf(final Collection<T> srcCollection,
Collection<T> destCollection,
final Condition<T> cond)
{
for( T o : srcCollection )
if( cond.condition(o) ) destCollection.add(o);
}
}

public static class Item
{
public String name;
public String surname;

public Item(String name, String surname)
{
this.name = name;
this.surname = surname;
}
}

public static void main(String[] args) {

ArrayList<Item> list = new ArrayList<Item>();
list.add(new Item("Pepa", "Dvorak"));
list.add(new Item("Pavel", "Novak"));
list.add(new Item("Petra", "Novakova"));
list.add(new Item("Jan", "Novak"));

ArrayList<Item> novaci = new ArrayList<Item>();
CollectionUtils.copyIf(list, novaci, new Condition<Item>() {
public boolean condition(Item o) {
return o.surname.equals("Novak");
}
});

// tisk
for(Item i: novaci)
System.out.println("Jmeno: " + i.name + " " + i.surname);
}
}

Nahlásit jako SPAM
IP: 85.207.192.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 4 hosté

Podobná vlákna

C# item to list — založil Ritchie

Menu Item posunutí — založil LUK4S3K

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý