2014-01-12 3 views
0

ArrayList<String[]>에서 문자열을 가져 오거나 인쇄하는 방법은 무엇입니까?ArrayList에서 값을 가져 오는 방법 <String[]>

ArrayList<String[]> arrayList = new ArrayList<>(); 
arrayList.add(new String[]{"A1","A1","A3"}); 
arrayList.add(new String[]{"B1","B1","B3"}); 
arrayList.add(new String[]{"C1","C1","C3"}); 

System.out.println("*** 1 ***"); 
System.out.println(arrayList); 

System.out.println("*** 2 ***"); 
for (int i = 0; i < arrayList.size(); i++) { 
    System.out.println((String[])arrayList.get(i)); 
} 

System.out.println("*** 3 ***"); 
for (int i = 0; i < arrayList.size(); i++) { 
    System.out.println(arrayList.get(i).toString()); 
} 

System.out.println("*** 4 ***"); 
for (int i = 0; i < arrayList.size(); i++) { 
    String[] strings = arrayList.get(i); 
    System.out.println(strings); 
} 

출력 :

*** 1 *** 
[[Ljava.lang.String;@2a85f3d6, [Ljava.lang.String;@404b7c69, [Ljava.lang.String;@1bd4f279] 

*** 2 *** 
[Ljava.lang.String;@2a85f3d6 
[Ljava.lang.String;@404b7c69 
[Ljava.lang.String;@1bd4f279 
*** 3 *** 
[Ljava.lang.String;@2a85f3d6 
[Ljava.lang.String;@404b7c69 
[Ljava.lang.String;@1bd4f279 
*** 4 *** 
[Ljava.lang.String;@2a85f3d6 
[Ljava.lang.String;@404b7c69 
[Ljava.lang.String;@1bd4f279 
+0

아마도 두 개의 루프가 필요합니까? –

답변

5

슬프게도, 배열 자바의 기본 toString()은 쓸모가 없다. 유틸리티 메소드 Arrays.toString()을 사용해야합니다. 이것은 작동합니다 :

자바에서
for (String[] strings : arrayList) 
    System.out.println(Arrays.toString(strings)); 
2

, 각 객체toString() 방법을 가지고, 기본 후 다음 @과의 해시 코드를 추가, 클래스 이름 표현을 표시합니다.

strings어레이String입니다. 당신이 그것을에 루프 할 수 있고 수동으로 항목 인쇄,

3860  public static String toString(int[] a) { { 
3861  if (a == null) 
3862   return "null"; 
3863  int iMax = a.length - 1; 
3864  if (iMax == -1) 
3865   return "[]"; 
3866 
3867  StringBuilder b = new StringBuilder(); 
3868  b.append('['); 
3869  for (int i = 0; ; i++) { 
3870   b.append(a[i]); 
3871   if (i == iMax) 
3872    return b.append(']').toString(); 
3873   b.append(", "); 
3874  } 
3875 } 

을 또는 :

for(String str: strings) { 
    System.out.println(str + " "); 
} 
을 당신은 (내가 더 잘 무슨 일이 일어나고 있는지 이해하고 그것을 통해 이동 조언) this way 구현 Arrays#toString()를 사용한다
0

수정하려고 시도하십시오.

**@Override 
public String toString() { 
    return "abc [name=" + name + ", stage=" + stage 
      + ", messageCode=" + messageCode + ", title=" + title 
      + ", description=" + description + ", expiryTimeLeft=" 
      + expiryTimeLeft + ", holdLimit=" + holdLimit + ", points=" 
      + points]; 
} 
관련 문제