주말⇞코딩

자바 정리_ver.0.3

히드라✧ 2022. 1. 1. 13:50
자바 정리!
Collection Iterator 설명, interface, class, exception, stream, network
Var&Type
Variable
변수 선언
변수 초기화
scope {}
변수 사용 범위확인 (static 과 non-static 구분)
Type
byte, short, int, long, char
float, double
boolean
Operator
대입: =, +=, -=, *=, /=. %=, &=. ^=, |=, <<=, >>=, >>>=
산술: +, -, *, %
증감: ++, --
비교: ==, !=, >, >=, <, <=
논리: &&, ||, !, &, |
비트: &, !, ~, ^, <<, >>, >>>
3항: (조건식) ? (true) : (flase)
문자열: +
Control
Conditional
if
if (boolean) {
} else if (boolean) {
} else
}
switch
switch (var){
case (값):
case (값):
default :
}
Repeat
for
for ( (초기화) ; (boolean) ; (증감식) ) {
}
while
while (boolean) {
}
break;
continue;
Array
* 1. 배열변수 선언 int[] score;
* 2. 배열 메모리 할당 score = new int[5];
* 3. 배열 원소 초기화 score[0]=3; score[1]=4;
* 4. 사용 score[0]*2;
배열 초기화를 간단하게 하는 다른 방법
int[] num = new int[] {1,2,3};
Extends
Extends
public class Motorcycle extends Vehicle {
기본생성자 public Motorcycle() { super()
}
생성자 오버로드 public Motorcycle( type var, type var, type var...) {
this.var = var ...
}
@Override
type method() {
}
Access
public
protected
(default)
private
Abstract
Access abstract class name {
type var;
}
구현부는 없고 선언부만 존재 (method 가 있으면 안됨! new 사용x 부모로만 사용)

abstract type method();
추상 메소드 (반드시 구현해야함(Override))
final
Access final class name { }
상속 불가
Access final method()
오버라이드 불가
Collection
List
ArrayList
순서가 정해지고 중복이 허옹되는 List
검색 유리 추가/삭제 불리
선언
List name = new ArrayList();
ArrayList name = new ArrayList();
ArrayList<Wrapper> name = new ArrayList<>();
* value 저장

name.add()
name.set(index, Object)

* List size

name.size()

* value 의 유/무

boolean bName = name.contains(value);

* all value -> String

name.toString

* value -> array[]

type[] arrayName = new type[name.size()];
type[] arrayName = (type)name.toArray(arrayName);

* value 사용

name.get(#) (wrapper -> cast)

* Object/Index 삭제

name.remove(객체/인덱스)

* delete all value

name.clear

LinkedList
순서가 정해지고 중복이 허옹되는 List
검색 불리 추가/삭제 유리
선언
List name = new LinkedList();
LinkedList name = new LinkedList();
LinkedList<wrapper> name = new LinkedList<>();
* value 저장

name.add()
name.set(index, Object)

* List size

name.size()

* all value -> String

name.toString

* value -> array[]

type[] arrayName = new type[name.size()];
type[] arrayName = (type)name.toArray(arrayName)

* value 사용

name.get(#) (wrapper->cast)

* delete all value

name.clear

Set
HashSet
순서가 정해지지 않고 중복이 불허되는 Set
선언
Set name = new HashSet();
HashSet name = new HashSet();
HashSet<Wrapper> name = new HashSet<>();
* value 저장

name.add()

* Set size

name.size()

* all value -> String

name.toString

* value -> array[]

type[] arrayName = new type[name.size()];
type[] arrayName = (type)name.toArray(arrayName)

* get 사용불가능 (순서가 없으므로)

Iterator로 연결

* delete all value

name.clear

Map
HashMap
키(key)와 값(value)을 묶어 하나의 데이터로 저장한다
동기화x return Fail-Fast Iterator
선언
HashMap<wrapper, wrapper> name = new HashMap<>();
* Map이 비어있는지? 참/거짓 (boolean)

name.put(key,value)


* value 저장

name.put(key,value)


* value 교체

name.replace(key,value)

* value 복제

name.clone()

* List size

name.size()

* Set keySet() HashMap에 저장된 모든 키가 저장된 Set을 반환

Set keySet()

* value 사용

name.get(key)

* value delete

name.remove(value)

* delete all value

name.clear

HashTable
키(key)와 값(value)을 묶어 하나의 데이터로 저장한다
동기화o return Enumeration
선언
HashMap<wrapper, wrapper> name = new HashMap<>();

HashTable<wrapper, wrapper> name = new HashTable<>();
* Map/Table이 비어있는지? 참/거짓 (boolean)

name.put(key,value)


* value 저장

name.put(key,value)

* value 교체

name.replace(key,value)

* value 복제

name.clone()

* List size

name.size()

* Set keySet() HashMap에 저장된 모든 키가 저장된 Set을 반환

Set keySet()

* value 사용

name.get(key)

* value delete

name.remove(value)

* delete all value

name.clear

Iterator
컬렉션에 저장되어 있는 요소들을 읽어오는 방법의 인터페이스
검색 불리 추가/삭제 유리
선언
Iterator name = null; Iterator은 final
LinkedList name = new LinkedList();
Iterator<Wrppere> name = name.iterator();
* 읽어올 다음 요소가 있는지?

boolean bName = name.hasnext();

* 다음 요소 읽어옴

type tName = name.next();

Object oName = name.next();

* 읽어온 요소 삭제

name.remove();

Interface
Click Me! 2

details, summary 같이 적용

Class
Click Me! 2

details, summary 같이 적용

Exception
Click Me! 2

details, summary 같이 적용

Stream
Node Stream
FileReader
데이터 소스는 파일이며 텍스트를 입력하는 스트림
FileWriter
파일에 문자를 출력하는 스트림
FileInputStream
파일에서 바이트 데이터를 입력하는 스트림
FileOutputStream
파일에서 바이트 데이를 출력하는 스트림
Filter Stream
BufferedReader
버퍼를 사용하여 성능 향상, 한행 단위로 읽어올 수 있다.
PrintWriter
print,printf,println 등의 메소드가 오버로드되어 편리한 문자출력(가공) 스트림
ByteArrayInputStream
byte배열로부터 읽어올 수 있는 스트림
ByteOutputStream
byte배열에 데이터를 누적하여 저장할 수 있는 출력 스트림
StringReader
메모리에 있는 문자열로부터 문자를 읽어올 수 있는 입력스트림
DataInputStream
자바의 데이터형 그대로 읽어올 수 있는 필터스트림
DataOutputStream
자바의 데이터형 그대로 출력할 수 있는 바이트 스트림
ObjectInputStream
직렬화된 데이터를 다시 오브젝츠로 읽어올 수 있는 필터스트림
ObjectOutputStream
메모리에 있는 객체를 직렬화하여 저장할 수 있는 필터스트림
InputStreamReader
바이트 데이터를 일어와서 문자로 변환해주는 입력 변화 스트림
OutputStreamWriter
문자데이터를 바이트 데이터로 변환하여 출력해주는 변환 스트림
Network
Click Me! 2

details, summary 같이 적용