BARNI
BARNI

Reputation: 142

print array from arrayList in java

i am trying to print arrayList but i am getting something like this.

[[Ljava.lang.String;@506c589e, [Ljava.lang.String;@69d0a921, [Ljava.lang.String;@446cdf90]

I also tried but no result.

Arrays.toString(list.get(0))

Please help.

public ArrayList getByName(String name) {
    try {
        preSt = con.prepareStatement("SELECT * FROM DATA WHERE name=?");
        preSt.setString(1, name);
        rs = preSt.executeQuery();
        ArrayList list = new ArrayList();
        int i = 0;
        while(rs.next()) {
            Object[] temp = new String[3];
            temp[0] = rs.getString("name");
            temp[1] = rs.getString("surname");
            temp[2] = rs.getString("age");
            list.add(i, temp);
            i++;
        }
        System.out.println(list);
        return list;
    } catch (Exception ex) {
        System.out.println("Error: "+ex);
    }
    return null;
}

Upvotes: 2

Views: 4596

Answers (3)

Patrick Parker
Patrick Parker

Reputation: 4967

Since you are already working with arrays, you may consider this method which will allow you to avoid writing a hand-coded loop:

System.out.println(Arrays.deepToString(list.toArray()));

Upvotes: 5

JRA
JRA

Reputation: 487

You can try this

public ArrayList getByName(String name) {
    try {
        preSt = con.prepareStatement("SELECT * FROM DATA WHERE name=?");
        preSt.setString(1, name);
        rs = preSt.executeQuery();
        ArrayList list = new ArrayList();
        int i = 0;
        while(rs.next()) {
            Object[] temp = new String[3];
            temp[0] = rs.getString("name");
            temp[1] = rs.getString("surname");
            temp[2] = rs.getString("age");
            list.add(i, temp);
            i++;
        }
        for(int i=0;i<list.size();i++){
            System.out.println(list[i]);
        }
        return list;
    } catch (Exception ex) {
        System.out.println("Error: "+ex);
    }
    return null;
}

Upvotes: -1

Dawood ibn Kareem
Dawood ibn Kareem

Reputation: 79875

The easiest way to print that list is to iterate through it. Remember that each element of that list is itself an array, so you'll need Arrays.toString to print it.

List<Object[]> list = new ArrayList<>();

// populate it in here

for(Object[] array : list) {
    System.out.println(Arrays.toString(array));
}

Upvotes: 3

Related Questions