webForumDet fria alternativet

Collection

Java

3 svar · 327 visningar · startad av crazyl

Medlem sedan jan. 200232 inlägg
Frågan#1

Hej! Hur visar jag innehållet på det som returneras från följande funktion? Är det möjligt när man använder Collection, måste jag göra om den till en ArrayList? Hur skriver jag i sådana fall?

Collection granne = pasture.getEntitiesAt(neighbour);

public Collection<Entity> getEntitiesAt(Point lookAt)
{
Collection<Entity> l = grid.get(lookAt);
if (l==null)
{
return null;
}
else
{
return new ArrayList<Entity>(l);
}
}

MVH :OO

Medlem sedan jan. 20021 122 inlägg
#2

Nu har jag inte använt generics, så jag är inte helt säker på att detta funkar, men Collection har metoden iterator() som returnerar en iterator som du sedan kan stega dig igenom såhär:

Collection a = getEntitiesAt(b);
Iterator i = a.iterator();
Entity e;
while(i.hasNext()) {
e = i.next();
System.out.println(e.toString());
}

Lägg till applikationsspecifik kod på ovanstående.

Medlem sedan dec. 2000399 inlägg
#3

Eller med den nya snygga loopen:

Collection<Entity> c = getEntitiesAt(b);
for (Entity e : c)
System.out.println(e);
Medlem sedan jan. 20021 122 inlägg
#4

Men varför göra det lätt för sig... :OO (Man kanske skulle ta och lära sig de nya grunkorna i 1.5, verkar ju som om det skulle kunna vara användbart ;) )

252 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)