너와 나의 프로그래밍
JAVA - ArrayList, LinkedList 간략 정리 본문
[JAVA] List - ArrayList, LinkedList 간략 정리
"List"란 데이터를 일렬로 늘어놓은 자료구조. (ArrayList와 LinkedList 클래스가 있음)
ArrayList : 내부에 있는 배열에 데이터를 저장.
ArrayList<타입 파라미터> 객체명 = new ArrayList<타입 파라미터>(배열 수);
/* 타입 파라미터를 프리미티브 타입으로 정하면 안됨 */
/* ()는 기본적으로 10개의 배열이 들어가지만 50이나 60으로 배열의 크기를 설정 가능 */
예: ArrayList의 메소드 활용
import java.util.ArrayList;
public class ArrayListExample {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<String> list = new ArrayList<String>(); // String 값만 들어갈 수 있는 ArrayList 객체 생성
list.add("포도");//--------- 1
list.add("딸기");
list.add("복숭아");
list.add(2,"키위");//--------- 2
list.set(0,"오렌지");//-------- 3
list.remove(1); // ------------4
list.remove("키위");
int num = list.size();
for(int cnt = 0; cnt < num; cnt ++){
String str = list.get(cnt); // --------- 5
System.out.println(str);
}
}
}
LinkedList<타입 파라미터> list = new LinkedList<타입 파라미터>();
/* ArrayList와 객체 생성 방식은 같다. *//* 하지만 ArrayList 처럼 객체를 넣을 수 있는 저장 할 수 있는 공간이 생기는 것은 아니다. */
예 : LinkedList의 메소드 활용(위 ArrayList 예제와 동일)
import java.util.LinkedList
public class LinkedListExample {
public static void main(String[] args) {
// TODO Auto-generated method stub
LinkedList<String> list = new LinkedList<String>(); // String 값만 들어갈 수 있는 LinkedList객체 생성
list.add("포도");//--------- 1
list.add("딸기");
list.add("복숭아");
list.add(2,"키위");//--------- 2
list.set(0,"오렌지");//-------- 3
list.remove(1); // ------------4
list.remove("키위");
int num = list.size();
for(int cnt = 0; cnt < num; cnt ++){
String str = list.get(cnt); // --------- 5
System.out.println(str);
}
}
}
Iterator : LinkedList의 데이터의 위치를 기억하고 있다가 다음 데이터를 찾는 메소드.
Iterator<타입 파라미터> iterator= 객체.iterator();
/* Iterator는 Iterator 타입의 객체를 리턴하는 메소드이다. *//* 이 타입의 파라미터는 LinkedList에서 사용한 타입 파라미터와 맞아야 한다. */
예 : LinkedList와 Iterator 메소드 활용
import java.util.Iterator;
import java.util.LinkedList;
public class LinkedListTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
LinkedList<String> list = new LinkedList<String>();
list.add("망고");
list.add("파인애플");
list.add("바나나");
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
String str = iterator.next();
System.out.println(str);
}
}
}
Iterator의 "hasNext()" 메소드는 LinkedList에 데이터가 있는지 확인하는 메소드이다. 리턴값은 "true"와 "false"다.
먼저 "hasNext()" 메소드를 사용해 데이터를 확인한 뒤 "next()" 메소드를 사용해 LinkedList의 데이터를 순서대로 읽어올 수 있다.
만약 hasNext()의 검증이 안되고 next() 메소드만 사용할 시 "NoSuchElementException"이 발생한다.
'Back-End > Java Example' 카테고리의 다른 글
JAVA - 정규식으로 문자열 찾기 (0) | 2018.05.25 |
---|---|
JAVA - 문자열 (0) | 2018.05.23 |
JAVA - HashMap, HashSet 간략 정리 (2) | 2018.02.22 |
JAVA - Active Directory(LDAP) 연결 예제 소스 (0) | 2017.09.22 |