collection 여러 출력 방법에 대해 알아보자
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class Test {
public static void main(String[] args) {
// List, Set 동일 하게 사용 가능하나, set은 get() method 없음
// List
ArrayList<String> testList = new ArrayList<>();
testList.add("가");
testList.add("나");
testList.add("다");
for (int i = 0; i < testList.size(); i++) {
System.out.println(testList.get(i));
}
for (String str: testList) {
System.out.println(str);
}
Iterator<String> iter = testList.iterator();
while(iter.hasNext()) {
System.out.println(iter.next());
}
testList.forEach(str -> {
System.out.println(str);
});
// Map
Map<Integer, String> testMap = new HashMap<>();
testMap.put(0, "가");
testMap.put(1, "나");
testMap.put(2, "다");
for (int i = 0; i < testMap.size(); i++) {
System.out.println(testMap.get(i));
}
for (String value: testMap.values()) {
System.out.println(value);
}
// keySet()
// 맵의 모든 키를 set 컬렉션으로 반환, 중복 없이 담고 있다. 매번 조회시마다 맵을 순회해야 하므로 비효율적
for (Integer key: testMap.keySet()) {
System.out.println(key + testMap.get(key));
}
Iterator<Integer> iter2 = testMap.keySet().iterator();
while (iter2.hasNext()) {
Integer key = iter2.next();
String value = testMap.get(key);
System.out.println(key + value);
}
// EntrySet()
// 맵의 각 키-값 쌍으로 set 컬렉션으로 반환, 키와 값 동시, 접근 조작 가능
for (Map.Entry<Integer, String> ent : testMap.entrySet()) {
System.out.println(ent.getKey() + ent.getValue());
}
Iterator<Map.Entry<Integer, String>> iter3 = testMap.entrySet().iterator();
while (iter3.hasNext()) {
Map.Entry<Integer,String> it = iter3.next();
System.out.println(it.getKey() + it.getValue());
}
testMap.forEach((key, value) -> System.out.println(key + value));
}
}
메모
연산자 우선순위 산술>비교>논리>대입
단, 괄호로 감싸주면 최우선 순위
if, switch 차이
if문은 복합조건 가능, switch문은 피연산자 한개에 대한 조건만 가능
if문은 상대적으로 코드 중복이 많고, switch문은 코드중복이 적다.
향상된 for문
for (변수타입 변수이름 : 배열이름) {
//실행코드
}
깊은 복사
clone(): 2차원 이상 배열에서는 얕은 복사로 동작
Arrays.copyOf(a, a.length): 배열과 함께 length 값 입력
기본형 변수 vs 참조형 변수
1. 기본형 변수는 소문자로 시작, 참조형 변수는 대문자로 시작 *Wrapper class에서 기본형 변수로 감싸줄 땐 , int->Integer
2. 기본형 변수는 값 자체를 저장, 참조형 변수는 별도의 공간에 값을 저장 후 그 주소를 저장 (= 주소형 변수)
2차원 이상의 다차원 배열에서 마지막 차수의 배열에 가변배열 가능
Collection: 기본형 변수가 아닌 참조형변수 저장
Collection 종류
List: 순서가 있는 데이터 집합, 데이터 중복 허용, 배열과 비슷
Queue: 한쪽으로 데이터를 넣고 반대쪽으로 데이터를 뺄 수 잇는 집합, 먼저 들어간 순서대로 값을 조회, First In First Out(FIFO), add, peek, poll, 생성자 없음
Set: 순서가 없는 데이터 집합, 데이터 중복 허용 안함, 순서 없고 중복 없는 배열, HashSet, TreeSet 등으로 응용, 생성자 없음
Map: 순서가 없는, Key, Value 쌍으로 이루어진 데이터의 집합, Key 값 중복 허용 안함, HashMap, TreeMap 활용
Stack: 수직으로 값을 쌓아놓고 넣었다가 뺀다. First In Last Out(FILO) Basket, push, peek, pop, 최근 저장 데이터를 나열하고 싶거나, 데이터의 중복처리를 막고 싶을때
LinkedList
메모리에 남는 공간을 요청해 여기 저기 나누어서 실제 값을 담는다
실제 값이 있는 주소값으로 목록을 구성하고 저장하는 자료구조
기본적 기능은 ArrayList 동일, 조회 속도는 느리지만, 값을 추가하거나 삭제는 빠르다
'개발 > 자바' 카테고리의 다른 글
| IntelliJ JUnit @DisplayName 한글 깨짐 에러 (0) | 2023.06.24 |
|---|---|
| 스파르타코딩클럽 Java 문법 종합반 3주차, 4주차, 5주차 메모 (0) | 2023.06.19 |
| 스파르타코딩클럽 Java 문법 종합반 1주차 - nextLine() (0) | 2023.06.13 |
| 쉽게 배우는 자바2 메모 (0) | 2023.06.01 |
| 쉽게 배우는 자바1 메모 (0) | 2023.05.30 |