*연산자 우선순위 : 산술>비교>논리>대입*
Stirng <-> char[]
//toCharArray() : String -> char[] (String에서 char 배열로 변환)
char[] strCharArray=str.toCharArray();
//char[] -> String
char[] charArray={'A', 'B', 'C' 'D'};
String charArrayString = new String(charArray);
System.out.println(charArrayString);
2차원 배열 선언
int[] array[] --> 이렇게도 선언 가능!!
Collection 컬랙션
종류 : List, Set, Map, Queue. Stack
Stack
수직으로 값을 쌓아놓고 넣었다가 뺀다 FILO(First In Last Out)
push(), peek(), pop() 사용
최근 저장된 데이터를 나열하고 싶거나 데이터의 중복 처리를 막고 싶을 때 사용
Stack<Integer> intStack = new Stack<Integer>();
intStack.push(10);
intStack.push(15);
intStack.push(1);
//다 지워질 때 까지 출력
while(!intStack.isEmpty()){
System.out.println(intStack.pop());
}
---결과-----
1
15
10
//다시 추가
intStack.push(10);
intStack.push(15);
intStack.push(1);
//peak() 조회
System.out.println(intStack.peek()); //--> 1
System.out.println(intStack.size());
Queue
FIFO(First In First Out)
add(), peek(), poll() 사용
생성자가 없는 인터페이스
Queue<Integer> intQueue = new LinkedList<>(); //queue 선언, 생성
intQueue.add(1);
intQueue.add(5);
intQueue.add(9);
while(!intQueue.isEmpty()){
System.out.println(intQueue.poll());
}
-----결과--------
1
5
9
-----------------
//추가
intQueue.add(1);
intQueue.add(5);
intQueue.add(9);
//peek 조회
Syste.out.println(intQueue.peek()); //-> 가장 처음 넣은 데이터가 가장 먼저 조회가 됐다 (근데 전체 조회가 아닌듯.... 게다가 인덱스 번호를 지정해 준 것도 아닌데 당연하다는 듯이 첫번째가 나옴... peek 에 대해 알아봐야 할듯)
Set
집합 : 순서 없고 중복 없음 (중복 안됨)
순서가 보장되지 않는 대신 중복을 허용하지 않도록 하는 프로그램에서 사용할 수 있는 구조
Set -> 그냥 쓸 수 있지만 HashSet, TreeSet 등을 응용해서 같이 사용 가능
Set은 생성자가 없는 껍데기라 바로 생성 못 함
생성자가 존재하는 HashSet을 이용해서 Set을 구현해 볼 수 있음
Set<Integer> intSet= new HashSet<>(); //선언 및 생성
intSet.add(1);
intSet.add(12);
intSet.add(5);
intSet.add(9);
intSet.add(1);
intSet.add(12);
for(Integer v:intSet){
System.out.println(v);
}
-----결과-------
1
5
9
12 (중복 허용 x)
----------------
//contains
System.out.println(intSet.contains(2)); //2가 포함되어 있는지 확인하는 메서드 --> false
System.out.println(intSet.contains(5)); //true
Map
Map : key-value pair
key 라는 값으로 unique하게 보장이 되어야함
Map-> HashMap, TreeMap으로 응용
key 는 unique해야하기 때문에 중복되면 안 됨,, 중복 시켜도 중복된 키는 허용되지 않음(중복했을 때 마지막으로 넣은 값으로 키가 덮어 씌워진다)
Map<String, Integer> intMap = new HashMap<>
intMap.put("일", 11);
intMap.put("이", 12);
intMap.put("삼", 13);
//키 값 전체 출력
for(String key: intMap.keySet()){ //keySet() --> map의 key만 빼서 배열로 만드는 함수
System.out.println(key);
}
System.out.println(intMap.get("삼")); // 키가 '삼'에 해당하는 값(value)를 출력