본문 바로가기

프로그래밍 언어/Java

ArrayList 등에 저장된 데이터를 가져와서 처리하는 데 효율적인 for(:)

반응형

자바 문법이지만, 예제는 안드로이드에서 진행하던 프로젝트를 기준으로 설명한다.

 

 
// 데이터베이스에 데이터 넣고, 가져오는것 테스트
DatabaseHandler db = new DatabaseHandler(MainActivity.this);

// 주소록 데이터를 디비에 저장하는 코드
Contact contact = new Contact("홍길동", "010-1111-2222");
   db.addContact(contact);

// 주소록 데이터를 디비에서 가져와서, 로그 찍어보자.
 ArrayList<Contact> contactList = db.getAllContacts();

   for(Contact data : contactList){
   Log.i("MyContact",
   "id : " + data.id + " , name : "+data.name+" , phone : "+data.phone);
   }

   // 주소록 디비에서 id 가 1인 주소록 데이터 로그 찍어보자.
   Contact contact1 = db.getContact(1);
   Log.i("MyContact",
   "디비에서 하나만 가져오기, id : "+contact1.id +" , name : " +contact1.name + " , phone : "+contact1.phone);

 

for(변수: 배열){
  반복 실행문;
}

  자바 5부터 향상 for문을 제공한다. 배열의 처음에서 끝까지 모든 요소를 참조할 때 사용하면 편리한 반복문이다. 향상된 for문은 배열 요소값을 순서대로 하나씩 가져와서 변수에 대입한다. 따로 초기화와 종료 조건이 없기 때문에 모든 배열의 시작 요소부터 끝 요소까지 실행한다.

 

  for(Contact data : contactList){
   Log.i("MyContact",
   "id : " + data.id + " , name : "+data.name+" , phone : "+data.phone);
   }

  Contact 형으로 선언된 contactList 배열에 각 id, name, phone 정보가 저장 되어있다. 향상된 for문을 사용해서 Contact형 data변수에 contactList배열 요소 값을 순서대로 가져와 대입한다. data변수를 출력하면 contactList배열에 저장된 값이 순서대로 출력된다. 

  Log.i를 했을 경우에 각, contactList에 있는 id, name, phone를 한줄씩 로그로 띄워준다.

 

반응형