2011-11-23 7 views
0

저는 Java 프로그래밍을 배우고 있습니다. 지금은 arralist에서 객체 사용을 모색 중입니다. 나는 이런 ArrayList의에있는 객체에서 단일 값을 얻는 방법을 알고객체의 arraylist에있는 객체 메소드의 값을 나열 하시겠습니까?

customerList.get(0).getAccountOwnerName() 

편집 :이 내가했던이 내 질문에 대해 무엇 방법. 아마도 이것도 더 좋은 방법일까요?

for(int i=0;i<customerList.size();i++){ 
    System.out.println(customerList.get(i).getAccountOwnerName()); 
    System.out.println(customerList.get(i).getAccountOwnerPersonalNumber()); 
} 

이 MY OLD 질문 :하지만 문제가 및 솔루션은 ArrayList를 통해 반복하고 getAccountOwnerName 및 getAccountNumber 같은 객체 방법에서 각 값을 얻을 수 있도록 내가 검색 한 것을 알고있다. 나는이 코드가 시작일 수 있다고 생각했지만, 더 발전 시키려면 도움이 필요하다. 아니면 이것을 할 수있는 더 좋은 방법이 있을까? 감사! ArrayList 같은 Collection 자바 1.5로 새로운 for 루프를 지원 구현

System.out.print("List of customer"); 
Iterator<String> itr = customerList.iterator(); 

while (itr.hasNext()) { 
    String element = itr.next(); 
    System.out.println(element + " "); 
} 

답변

3

모든 객체. 실제로 Iterable을 구현하는 모든 작업을 수행합니다. 이는 다음과 같이 할 수 있음을 의미합니다.

for (Customer customer : customerList) { 
    System.out.println(customer.getAccountOwnerName()); 
    System.out.println(customer.getAccountOwnerPersonalNumber()); 
} 

get(i)을 반복하면 더 효율적입니다. 이것은 내부적으로 반복자 (iterator) 메서드를 사용하지만 코드 작성이 훨씬 쉽습니다.

http://blog.dreasgrech.com/2010/03/javas-iterators-and-iterables.html

Iterable 구현하지 않지만 당신은 또한 배열을 반복 할 수 있습니다 : 여기에 좋은 정보 링크의 흠

Customer[] customers = new Customer[100]; 
customers[0] = new Customer(); 
... 
for (Customer customer : customers) { 
    System.out.println(customer.getAccountOwnerName()); 
    System.out.println(customer.getAccountOwnerPersonalNumber()); 
} 
+0

는, 내가 실행할 때 icompatible 유형과 같은 오류 메시지가 표시됩니다. 그의 코드?! 이 코드는 객체 안에있는 모든 내용을 나열합니다. 그러나 일부 값만 변경하면 어떻게됩니까? –

+0

내 목록에 객체가 포함되어 있습니까?! –

+0

String이 객체라는 것을 알고 있지만, 아마도 내 질문을 이해하지 못했을 것입니다. 실제로 코드는 다음과 같이 하나의 값을 얻는 것과 같이 배열 내부에있는 모든 객체에서 각 값을 가져올 수 있습니다. customerList.get(). getAccountOwnerName() ?? –

관련 문제