[Java] list 관련 기능 간단 정리. (추가, 삭제, 조회 등)
값 추가하고 꺼내는 방법 – add, get
▼ 이번에는 값들을 추가하고 인덱스에 해당하는 값을 하나씩 가져오거나 모든 데이터를 꺼내는 방법입니다. 값을 추가하기 위해서 add() 함수를 사용합니다. 아래 그림처럼 텍스트값 3개를 추가했습니다. 그리고 제일 아래에 있는 add() 함수는 형태가 좀 틀리죠. 첫번째 인수로 요소값을 넣었습니다. 요소값을 넣고 데이터를 추가하게 되면 해당 요소에 값을 교체하는 것이 아니라 추가하고 데이터들이 하나씩 밀리게 됩니다. 아래 그림을 참고 하시기 바랍니다.
List listA = new ArrayList(); listA.add("김삿갓"); listA.add("홍아리"); listA.add(new String("홍길동")); listA.add(1, "1번째 요소값");
▼ 인덱스로 값을 조회하고 싶다면 get(index) 함수를 사용하면 됩니다. 하나씩 조회하고 싶을 때 사용하는 방법이고 모든 데이터를 전부 출력하고 싶다면 Iterator 와 For loop문을 이용합니다. List 클래스의 iterator() 함수로 Iterator 객체를 리턴받아 사용합니다.
// 인덱스를 통한 조회 String element0 = listA.get(0).toString(); String element1 = listA.get(1).toString(); String element3 = listA.get(2).toString(); //Iterator 통한 전체 조회 Iterator iterator = listA.iterator(); while (iterator.hasNext()) { String element = (String) iterator.next(); } //for-loop 통한 전체 조회 for(Object object : listA) { String element = (String) object; }
값 삭제하는 방법 - remove
▼ 객체를 삭제하는 방법은 두가지가 있습니다. 인덱스를 이용하는 방법과 동일한 오브젝트를 인수로 넘기면 검색해서 삭제시켜 줍니다. 오브젝트를 이용해서 삭제하게 되면 삭제 결과가 성공인지 실패인지만 알려주고 인덱스로 삭제하게 되면 어떤 데이터를 삭제했는지 리턴값으로 알려줍니다.
◎ remove(Object element)
◎ remove(int index)
System.out.println(listA.remove(0)); System.out.println(listA.remove("홍길동")); // 결과 김삿갓 true
값이 있는지 확인하는 방법 - contains
▼ 리스트안에 있는 데이터중 찾고자 하는 값이 존재하는지 확인할수 있는 함수가 contains 입니다. 함수 인수로 오브젝트를 넘기게 되면 boolean 값을 리턴하게 됩니다. 아래 결과값은 true 가 되겠죠.
System.out.println(listA.contains("홍길동")); // 결과 true
해당 위치 앞에 값을 집어 넣고 싶을 때
▼ 위에서 값을 추가할 때 add() 함수의 첫번째 인수로 인덱스를 넘기게 되면 해당 위치 앞에 값이 추가 된다고 했습니다. 위치를 알고 있을때는 지정하면 되는데 알수 없을때는 어떻게 할까요? indexof() 함수를 이용해서 위치값을 찾은 뒤 add() 함수를 이용하시면 되겠죠.