Распечатать ArrayList - PullRequest
       32

Распечатать ArrayList

66 голосов
/ 13 февраля 2012

У меня есть ArrayList, который содержит объекты Address.

Как распечатать значения этого ArrayList, то есть я распечатываю содержимое массива, в данном случае чисел.

Я могу только заставить его распечатать фактический адрес памяти массива с этим кодом:

for(int i = 0; i < houseAddress.size(); i++) {   
    System.out.print(houseAddress.get(i));
}  

Ответы [ 18 ]

2 голосов
/ 12 января 2016

Я не уверен, понял ли я понятие адресов (я предполагаю, что здесь houseAddress), но если вы ищете способ a для печати ArrayList, то вы идете:

System.out.println(houseAddress.toString().replaceAll("\\[\\]", ""));
2 голосов
/ 29 мая 2017

Вы можете использовать итератор. Это самая простая и наименее противоречивая вещь, которую можно сделать здесь. Скажем, houseAddress имеет значения типа данных String

    Iterator<String> iterator = houseAddress.iterator();
    while (iterator.hasNext()) {
    out.println(iterator.next());
    }

Примечание: Вы можете даже использовать расширенный цикл for для этого, как я уже упоминал в другом ответе

1 голос
/ 28 августа 2018

если вы сделаете @Override общедоступной String toString () в качестве комментариев, вы получите те же результаты, что и вы.Но если вы реализуете свой метод toString (), он будет работать.

открытый класс PrintingComplexArrayList {

public static void main(String[] args) {
    List houseAddress = new ArrayList();
    insertAddress(houseAddress);
    printMe1(houseAddress);
    printMe2(houseAddress);
}

private static void insertAddress(List address)
{
    address.add(new Address(1));
    address.add(new Address(2));
    address.add(new Address(3));
    address.add(new Address(4));
}
private static void printMe1(List address)
{
    for (int i=0; i<address.size(); i++)
        System.out.println(address.get(i));
}

private static void printMe2(List address)
{
    System.out.println(address);
}

}

class Address {private int addr;публичный адрес (int i) {addr = i;}

@Override public String toString()
{
    Integer iAddr = new Integer (addr);
    return iAddr.toString();
}

}

1 голос
/ 29 мая 2017

Вы даже можете использовать расширенный цикл for или итератор, например

for (String name : houseAddress) {
out.println(name);
}

. Вы можете изменить его на любой тип данных houseAddress, что позволит избежать ненужных преобразований

1 голос
/ 29 марта 2016

Это помогло мне:

System.out.println(Arrays.toString(codeLangArray.toArray()));
0 голосов
/ 19 июня 2019
 public static void main(String[] args) {
        List<Moyen> list = new ArrayList<Moyen>();
        Moyen m1 = new Moyen();
        m1.setCodification("c1");
        m1.setCapacityManager("Avinash");
        Moyen m2 = new Moyen();
        m2.setCodification("c1");
        m2.setCapacityManager("Avinash");
        Moyen m3 = new Moyen();
        m3.setCodification("c1");
        m3.setCapacityManager("Avinash");

        list.add(m1);
        list.add(m2);
        list.add(m3);
        System.out.println(Arrays.toString(list.toArray()));
    }
0 голосов
/ 04 февраля 2019

вы можете использовать формат печати, если вы просто хотите напечатать элемент на консоли.

for(int i = 0; i < houseAddress.size(); i++) {   
    System.out.printf("%s", houseAddress.get(i));
}  
0 голосов
/ 07 сентября 2018

Убедитесь, что у вас есть получатель в классе адреса дома, а затем используйте:

for(int i = 0; i < houseAddress.size(); i++) {   
    System.out.print(houseAddress.get(i)**.getAddress()**);
}
...