프로그래밍 언어/Java(연습)
배열 리스트, 연결 리스트
얗마
2016. 5. 11. 21:22
[주제]
- 배열 리스트와 연결 리스트의 사용 방식
[중요]
- 배열 리스트는 'ArrayList'를, 연결 리스트는 'LinkedList'를 사용하면 손쉽게 구현 가능
- 제너릭이 사용되었기 때문에 클래스 옆에 사용되는 자료형 기입 필요
※ 소스에서는 'ArrayList'의 경우 '<Integer>'로 사용, 'LinkedList'는 '<String>'으로 사용
※ 자료형은 클래스 이름으로 작성해야 함
[소스]
import java.util.ArrayList; import java.util.Iterator; import java.util.LinkedList; public class mainClass { public static void main(String[] args) { /* * 배열 리스트 */ ArrayList<Integer> arrlist = new ArrayList<Integer>(); ///// 추가(Insert) Integer inte = new Integer(2); arrlist.add(inte); arrlist.add(new Integer(4)); arrlist.add(new Integer(16)); arrlist.add(new Integer(32)); arrlist.add(new Integer(60)); arrlist.add(128); arrlist.add(200); arrlist.add(256); // 지정된 배열 위치에 데이터 추가 arrlist.add(2, 8); // '배열 [2]' 위치에 '8' 데이터 추가 ///// 검색(Select) int r; r = arrlist.indexOf(32); // System.out.println("검색: 데이터 \'32\'가 들어간 배열 위치는 " + r + "입니다."); // 밑에 리스트 다음에 출력 ///// 수정(Update) // 지정된 배열 위치의 데이터를 수정 arrlist.set(5, 64); // '배열 [5]' 위치의 데이터를 '64'로 수정 ///// 삭제(Delete) // 지정된 배열 위치의 데이터를 삭제 arrlist.remove(7); // '배열 [7' 위치의 데이터를 삭제 ///// 출력(Print) // 배열 크기 구하기: '.size()' // 인덱스 값 구하기: '.get(인덱스)' System.out.println("[배열 리스트]"); for (int i = 0; i < arrlist.size(); i++) { System.out.println("arrlist[" + i + "] = " + arrlist.get(i)); } System.out.println("검색: 데이터 \'32\'가 들어간 배열 위치는 [" + r + "]입니다."); System.out.println(); /* * 연결 리스트 */ LinkedList<String> llist = new LinkedList<String>(); ///// 추가(Insert) String str = "우아아앙"; llist.add(str); llist.add("요오요요요오"); llist.add("ㅋㅋㅋㅋㅋㅋ"); // 지정된 배열 위치에 데이터 추가 llist.add(2, "ㅎㅎㅎㅎㅎㅎ"); ///// 검색(Select) int s; s = llist.indexOf("우아아앙"); ///// 수정(Update) // 지정된 배열 위치의 데이터를 수정 llist.set(2, "ㅌㅌㅌㅌㅌ(구)ㅎㅎㅎㅎㅎㅎ"); ///// 삭제(Delete) // 지정된 배열 위치의 데이터를 삭제 llist.remove(1); ///// 출력(Print) System.out.println("[연결 리스트]"); for (int i = 0; i < llist.size(); i++) { System.out.println("llist[" + i + "] = " + llist.get(i)); } System.out.println("검색: 데이터 \'우아아앙\'이 들어간 배열 위치는 [" + s + "]입니다."); ///// 리스트에 저장된 데이터를 출력하는 다른 방법 ※ 예시는 위의 연결 리스트를 출력 Iterator<String> it = llist.iterator(); // Iterator: 반복자 while (it.hasNext()) { System.out.println(it.next()); } } } | cs |
■ 실행결과
[첨부 파일]