JAVA Collections -1
- 컬렉션이란?
- JAVA도 결국 효과적인 데이터를 처리하기 위한 수단
컬렉션이란?
---------------------------------------------------
컬렉션이란 우리말로 쉽게 말해서 자료구조이다. 더 쉽게 말하면 배열이다.
훌륭한 자료구조형을 쓴다고 생각하면 된다.
자바도 다른언어와 마찬가지로 결국에는 데이터를 효과적으로 관리하기 위한 언어이다.
다양한 자료구조형이 제공되는 이유는 데이터의 성질에 따라서 데이터를 저장 관리(정리)해야 하는 방식이 다르기 때문이다.
중요한 것은 자료구조형안에서는 객체의 레퍼런스만을 관리한다.
-> 예전에 자바의 변수에 기초데이터와 객체데이터가 있는데
객체데이터는 메모리에 값이 바로 할당된다. (int i=10이라면 바로 10이 들어가고)
객체데이터는 메모리변수에 주소를 담아서 그걸 가리킨다. 그러므로 이걸 참조라한다.
배열도 마찬가지이다.
배열도 배열안에 값들이 바로 들어가있는게 아니라 배열안 데이터들을 어딘가를 가리킨다.
자료구조형도 같다.
메모리에 주소값만 있고 실제 객체는 다른곳에 있다.
----------------------------------------------------------------------------------------------------------------
자료구조형 중 아마도 가장 많이 사용하고 쉽게 사용할 수 있는 자료구조형이 List 계열이다.
List는 배열과 비슷하지만, 처음만들때 크기를 고정하지 않아도 된다.
ArrayList
ArrayList는 배열과 매우 비슷하다. 인덱스가 존재하며, 데이터는 중복되어도 상관없다. 인덱스가 가장 중요하다.
----------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------
package jongkyu.collection;
import java.util.ArrayList;
public class Collections {
public void start() {
ArrayList<String> arrayList = new ArrayList<String>();
//데이터 안에 들어갈 타입이 String타입이다.
//객체니까 생성을 해준 것이다.
//데이터를 넣을때 사용하는게 arrayList.add이다.
arrayList.add("str1");//0번째 인덱스
arrayList.add("str2");//1번째 인덱스
arrayList.add("str3");//2번째 인덱스
arrayList.add("str4");//3번째 인덱스
System.out.println(arrayList.toString()+"a1");//arrayList를 출력해라
String index3 = arrayList.get(3);//문자형 index3 에 arrayList3번째껄 넣어라.
System.out.println("index3 = "+index3+"a2");//str4가 출력된다.
arrayList.set(2, "str2222222");//arrayList 2번째에다가 str22222로바꿔라
System.out.println(arrayList.toString()+"a3");//전체를 출력해라
int size = arrayList.size();//사이즈에다가 배열 사이즈를 넣어라.
System.out.println("size : "+size);//사이즈는 그럼 4이다. 현재 4개가 들어있기 때문이다.
arrayList.remove(2);//배열에 2번째꺼를 지워라.
System.out.println(arrayList.toString()+"a4");//str3이지워진다.
arrayList.clear();//배열을 다 지워라.
System.out.println(arrayList.toString()+"a5");//하나도 표시되지않는다.
arrayList=null;//배열에 null을 넣어라.
System.out.println(arrayList+"a6");//널이 표시된다.
// System.out.println(arrayList.size()+"a7");//객체가 없는 상태에서 사이즈를 출력할려고 하니 에러가 뜬다. 이때 try catch문을 써버리자.
try {
System.out.println(arrayList.size()+"a7");//사이즈가 없는 상태에서 사이즈를 출력할려고 하니 에러가 뜬다. 이때 try catch문을 써버리자.
}catch(NullPointerException e){
System.out.println("값이 없습니다.");
}
}
}
멀티스레드환경에서 데이터가 얽히지 않는다.
'IT일반과목 > java' 카테고리의 다른 글
MVC패턴으로 소스 짜보기 (0) | 2018.08.02 |
---|---|
자바 Collections 2 (0) | 2018.08.01 |
equals, hahscode (0) | 2018.08.01 |
Object 클래스에 대해서 (0) | 2018.08.01 |
예외처리7 (0) | 2018.08.01 |