Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 카카오코테
- 문자열포맷
- heap정렬
- 자바
- 힙정렬자바
- 카카오코딩테스트
- 코딩테스트기출
- 백준 1924번 java
- 코테준비
- 알고리즘
- 자바문자열
- 백준 1924번
- 프렌즈4블록java
- 객체프로그래밍이란
- 백준
- 개발상식
- 카카오1차
- 공부정리
- 백준 1000번
- 자료구조힙
- 자료구조 트리
- 백준 1000번 java
- java method
- Java heap
- java
- 카카오기출
- 프로그래머스
- heap
- 객체프로그래밍
- 프렌즈4블록
Archives
- Today
- Total
일단 시작해보는 블로그
[Java] Set 인터페이스, HashSet vs TreeSet vs LinkedHashset 본문
Set Interface
1. 데이터 중복 No!
데이터를 중복해서 저장할 수 없다.
2. 저장 순서가 보장되지 않음.
index로 관리하는 것이 아니기 때문 .
3. Iterator의 객체(반복자)를 통해 반복문을 돌릴 수 있다.
이것도 인덱스로 관리하는 것이 아니기 때문.
대표적으로
HashSet, TreeSet, LinkedHashSet 등이 있다.
HashSet
전형적인 Set 인터페이스의 특성을 갖추고 있다.
데이터 중복x, 입력한 순서대로 저장되지 않는다.
package hash;
import java.util.HashSet;
import java.util.Set;
// HashSet은 순서가 따로 없고 중복되지 않는다. if 중복 -> false를 반환한다.
public class HashSet_Ex1 {
public static void main(String[] args) {
//"1"과 Integer의 1은 모양새가 같을뿐 다른 데이터형이라서 다르다.
Object[] objArr = {"1", new Integer(1), "2", "2", "3", "3", "4", "4", "4"};
Set set = new HashSet();
for(int i=0; i<objArr.length; i++){
set.add(objArr[i]);
}
System.out.println(set);
}
}
TreeSet
데이터 중복x, 저절로 오름차순으로 데이터를 정렬해준다.
package hash;
import java.util.Set;
import java.util.TreeSet;
public class TreeSet_Ex1 {
public static void main(String[] args) {
Set<String> treeSet = new TreeSet();
treeSet.add("마");
treeSet.add("라");
treeSet.add("다");
treeSet.add("나");
treeSet.add("가");
System.out.println(treeSet);
}
}
LinkedHashSet
데이터 중복x, 입력된 순서대로 데이터 관리를 해준다.
package hash;
import java.util.Iterator;
import java.util.Set;
import java.util.LinkedHashSet;
public class LinkedHashSet_Ex1 {
public static void main(String[] args) {
Set<String> set = new LinkedHashSet<String>();
set.add("1");
set.add("1");
set.add("two");
set.add("3");
set.add("4");
set.add("five");
Iterator iterator = set.iterator();
while(iterator.hasNext()){
if(iterator.next().equals("1")){
iterator.remove();
}
}
System.out.println(set);
}
}
[REFERENCE]
'개발 > Java' 카테고리의 다른 글
[Java] Comparable, Comparator (0) | 2019.09.04 |
---|---|
[Java] Iterator (0) | 2019.09.03 |
[Java] HashSet (0) | 2019.09.03 |
[Java] 자바의 정규표현식을 위한 Pattern, Matcher (0) | 2019.09.03 |
[Java] 정규표현식, Regular Expression (0) | 2019.09.03 |
Comments