Jak wydrukować element "e" na liście "lista tablic"?print element listy?
ArrayList<Dog> list = new ArrayList<Dog>();
Dog e = new Dog();
list.add(e);
System.out.println(list);
Jak wydrukować element "e" na liście "lista tablic"?print element listy?
ArrayList<Dog> list = new ArrayList<Dog>();
Dog e = new Dog();
list.add(e);
System.out.println(list);
Czy chcesz wydrukować całą listę, czy też chcesz przejrzeć poszczególne elementy listy? W każdym razie, aby wydrukować coś znaczącego, twoja klasa Dog
musi zastąpić metodę toString()
(jak wspomniano w innych odpowiedziach) z klasy Object
, aby zwrócić prawidłowy wynik.
public class Print {
public static void main(final String[] args) {
List<Dog> list = new ArrayList<Dog>();
Dog e = new Dog("Tommy");
list.add(e);
list.add(new Dog("tiger"));
System.out.println(list);
for(Dog d:list) {
System.out.println(d);
// prints [Tommy, tiger]
}
}
private static class Dog {
private final String name;
public Dog(final String name) {
this.name = name;
}
@Override
public String toString() {
return name;
}
}
}
Wyjście z tego kodu jest:
[Tommy, tiger]
Tommy
tiger
Twój kod wymaga, żeby klasa Dog
nadpisuje metodę toString()
tak, że wie, jak drukować się na zewnątrz. W przeciwnym razie Twój kod wygląda poprawnie.
Najpierw upewnij się, że Dog
klasa implementuje metodę public String toString()
następnie użyć
System.out.println(list.get(index))
gdzie wskaźnik jest pozycja wewnątrz listy. Oczywiście od momentu, w którym podasz swoją implementację, możesz zdecydować, w jaki sposób pies sam się drukuje.
powinny przesłonić toString()
metodę w swojej klasie Dog
. który zostanie wywołany, gdy użyjesz tego obiektu w sysout.
Oto zaktualizowana rozwiązanie dla Java8 korzystając lambdy i strumienie:
System.out.println(list.stream()
.map(Object::toString)
.collect(Collectors.joining("\n")));
Albo, bez łączenia listy w jeden duży wyrażenie:
list.stream().forEach(System.out::println);
Drukowanie konkretny element jest
list.get(INDEX)
Myślę, że najlepszym sposobem na wydrukowanie całej listy za jednym razem, a także uniknie Pętla
Arrays.toString (list.toArray())
Jeśli chcesz wydrukować ArrayList z liczb całkowitych, jako przykład można użyć poniższy kod.
class Test{
public static void main(String[] args){
ArrayList<Integer> arraylist = new ArrayList<Integer>();
for(int i=0; i<=10; i++){
arraylist .add(i);
}
for (Integer n : arraylist){
System.out.println(n);
}
}
}
wyjście jest powyżej kodu:
0
1
2
3
4
5
6
7
8
9
10
System.out.println (E); –