정보처리기사(2022)/6.프로그래밍언어활용
자바 자료형
응애개발자 애기
2022. 4. 15. 17:39
728x90
반응형
자바의 자료형에는 크게 4가지가 있다
HashSet
ArrayList
LinkedList
HashMap
HashSet
중복 X, 순서 X
Set exHashSet = new HashSet();
HashSet exHashSet2 = new HashSet();
//이렇게 두가지의 방법으로 선언 가능. (HashSet의 기능을 사용하기 위해서는 HashSet으로 생성해)
exHashSet2.add(1); // 1이라는 값을 추가함
exHashSet2.add(1); // 1은 이미 추가되었으므로 또 추가되진 않는다. (중복X)
exHashSet2.add(2); // 2이라는 값을 추가함
exHashSet2.add(3); // 3이라는 값을 추가함
exHashSet2.remove(3); //3이라는 값을 제거함
exHashSet2.size(); //해당 HashSet에 들어있는 원소의 개수를 얻는 메서드.
해당 HashSet 출력 시 [1, 2] 이런 식으로 출력이 된다.
size를 출력하면 2 라는 수를 출력하게 된다.
ArrayList
중복 O, 순서 O
인덱스를 통해 접근 가능
List ex = new ArrayList();
ArrayList ex2 = new ArrayList();
ex2.add(2);
ex2.add(1); // ArrayList에서는 순서를 중요시 하므로, [2,1]의 순서로 추가가 된다.
ex2.add(1); // 중복을 허용하므로, [2,1,1]이 된다.
ex2.add(1,3); //ArrayList의 1번지에 3이라는 값을 추가, [2,3,1,1]
ex2.remove(2); //이건 2를 삭제하라는 게 아니라 2번째 값을 삭제하라는 뜻이다... [2,3,1]
System.out.println(ex2.get(2));// 2번째 값을 출력하라는 뜻이다...0,1,2번째 값인 1을 출력.
System.out.println(ex2.size(2)); //전체 배열의 원소 개수를 출력한다. (출력값:3)
LinkedList
노드 기반.
데이터를 저장하는 각 노드가 이전/다음 노드의 상태를 알고 있음.
ArrayList랑 거의 똑같은데 ...
삽입, 삭제는 LinkedList가 더 빠르고,
데이터 검색할 때는 ArrayList가 더 빠르다.
HashMap
키:값 으로 구성된 객체를 저장.
참고로 키는 순서와 상관이 없다. 그냥 값이랑 연결되어 있을 뿐이다. 라고 한다.
//Map 변수명 = new HashMap();
HashMap ex = new HashMap();
ex.put(1, "A"); //1에 해당하는 값으로 "A"를 추가
ex.put(1, "C"); //1에 대한 값이 "C"로 변경됨
ex.put(2, "D");// 2에 대한 값으로 "D"를 추가
ex.remove(1); //1에 대한 값("C")를 삭제
System.out.println(ex.get(2)); //2에 대한 값인 "D"를 출력
System.out.println(ex.size()); //해당 해쉬맵 원소의 총 갯수를 출력
728x90