객체들을 한 곳에 모아 관리하고 또 그것을
편하게 사용하기 위해 제공되는 환경
리스트는 배열과는 달리 데이터의 검색과 추가, 삭제가 가능하다
public static void main(String[] args) {
/*
* 제네릭 표현 : 객체를 생성할 때 객체에 저장할 수 있는 요소의 타입을
* 지정, 타입을 지정하면 다른타입의 요소는 저장할 수 없음
*/
ArrayList<String> list = new ArrayList<String>();
list.add("서울"); // String-> Object
list.add("부산"); // String-> Object
list.add("광주"); // String-> Object
// list.add(1000); //int -> Integer ->Object
list.add("제주");
// 반복문을 이용한 요소의 출력
for (int i = 0; i < list.size(); i++) {
String name = (String) list.get(i);
System.out.println(name);
}
//확장 for문을 이용한 요소의 출력
for(String name : list) {
System.out.println(name);
}
}
배낭에 물건을 넣을 때처럼 제일 마지막에 넣은 데이터부터 순서대로 꺼낼 수 있는 자료구조를 말한다
LIFO(Last-In First-Out)방식
public static void main(String[] args) {
//stack : 후입선출 LIFO(Last-In First-Out) 방식
Stack<String> st = new Stack<>();
String[] array= {"진달래","백합","개나리","벚꽃","장미"};
//반복문을 이용해서 데이터를 stack에 저장
for(int i=0; i<array.length; i++) {
st.push(array[i]);
}
//
System.out.println(st);
System.out.println("-----------------------");
while(!st.isEmpty()) {
System.out.print(st.pop()+"\t");
}
System.out.println(st);
}
매표소에 줄을 서서 기다리는 사람들처럼 들어온 순서대로 데이터를 꺼낼 수 있는 자료구조
FIFO(First-In First-Out)방식
public static void main(String[] args) {
//Queue : 선입선출 FIFO(First-In First-Out)의 자료구조
String[] array= {"서울","대구","부산","광주","인천"};
LinkedList<String> k =new LinkedList<>();
for(int i=0; i<array.length; i++) {
k.offer(array[i]);
}
System.out.println(k);
while(k.peek() !=null) {
System.out.println(k.poll());
}
}
Set내에 저장되는 객체들은 특별한 기준에 맞춰서 정렬되지 않는다. 그리고 저장되는 객체들간의 중복된 요소가 발생하지 못하도록 내부적으로 관리된다
public static void main(String[] args) {
String[] array = {"Java","JSP","Java","Android"};
HashSet<String> hs = new HashSet<>();
for(String n : array) {
hs.add(n);
}
//HashSet에 저장된 요소의 목록
System.out.println(hs);
System.out.println("------------------------------------");
//Iterator를 이용한 요소의출력
Iterator<String> ir = hs.iterator();
while(ir.hasNext()) { //데이터가 있는지 검증
System.out.println(ir.next()); //데이터 반환
}
System.out.println("------------------------------------");
//확장 for문을 이용한 요소의 출력
for(String str :hs) {
System.out.println(str);
}
}