큰 숫자의 처리
ㄴlong형 이상의 큰 수를 처리할 때 사용하는 방법
복잡한 실수의 처리
ㄴ double 이상의 복잡한 실수를 처리할때 사용하는 방법
목차 | 선언 | 예시코드 | 설명 |
큰 숫자의 선언 | BigInteger 이용하여 선언 | BigInteger bin1 = new BigInteger("10000000"); | bin1에 큰 수를 투입 |
복잡한 실수의 선언 | BigDecimal 이용하여 선언 | BigDecimal bd1 = new BigDecimal("1.6"); | bd1에 복잡한 실수를 투입 |
숫자의 더하기 | bin1.add 이용하여 선언 | BigInteger result = bin1.add(bin2); | result에 bin2와 bin1을 더한 값을 투입 |
숫자의 빼기 | bin1.substract 이용하여 선언 | result = bin1.subtract(bin2); | result에 bin2를 bin1으로 뺀 값을 투입 |
숫자의 곱하기 | bin1.multiply 이용하여 선언 | result = bin1.multiply(bin2); | result에 bin2를 bin1과 곱한 값을 투입 |
숫자의 나누기 | bin1.divide 이용하여 선언 | result = bin1.divide(bin2); | result에 bin2를 bin1으로 나눈 값을 투입 |
숫자의 나누기/나머지값 받기 | bin1.divideAndRemainder 이용하여 선언 | BigInteger[] arr = bin1.divideAndRemainder(bin2); | arr에 bin2를 bin1으로 나눈 값과 나머지값을 투입 |
랜덤함수의 사용
Random rnd = new Random();
int result = rnd.nextInt(2);
0부터 2 미만(1까지)의 랜덤값을 뽑아내는 코드
min~max까지의 값을뽑아내고 싶을 때
rnd.nextint(max-min+1) + min
자바 컬렉션 프레임워크
자료구조론 : 최소한의 공간에 최대의 데이터를 저장하고, 가장 빠른 속도의 서비스를 구현할 수 있는 구조론
ㄴ 자료구조론을 클래스로 만든 것 = 자바 컬렉션 프레임워크
인터페이스 | List | ||
구현체 | ArrayList | ||
사용 | ArrayList<String> list1 = new ArrayList<String>(); ArrayList<Dog> list11 = new ArrayList<Dog>(); ArrayList<String> list2 = new ArrayList<String>(); list2.add(new String("hello")); list2.add("hello"); list2.add("hello"); list2.get(0); list2.indexOf(요소값); list2.remove(삭제할값); list6.remove(new Integer(2)); list7.clear(); | ||
설명 | 어레이리스트에 String값만 넣겠음. 어레이리스트에 Class<Dog>값만 넣겠음 list2에 "hello"를 넣겠음. int = Integer Char = 상기 2가지 제외, 나머지는 첫글자를 대문자로 변경해서 사용할 수 있음. 어레이리스트의 크기는 size를 통해 잴 수 있음. remove에서 숫자를 넣으면 해당 인덱스의 값을 삭제. remove에서 특정값을 지우기 위해서는 new 자료형(삭제할값)으로 삭제가능 clear는 배열 내부를 전부 삭제하는 기능 | ||
| |||
인터페이스 | Set | ||
구현체 | HashSet | ||
사용 | HashSet<Integer> hs6 = new HashSet<Integer>(); ArrayList<Integer> list = new ArrayList<Integer>(); Iterator<Integer> it = hs6.iterator(); while (it.hasNext()) { | ||
설명 | 중복데이터를 허용하지 않음 순서가 존재하지 않음 요소값을 가져올 때, iterator() 메서드를 이용하여 Iterator인터페이스를 받아옴 add() : 값 추가 size() : 크기 remove() : 특정값 제거 clear() : 전체값 제거 iterator() : List - Set간 정보교류시 사용 | ||
| |||
인터페이스 | Map | ||
구현체 | HashMap | ||
사용 | HashMap<String, String> map1 = new HashMap<String, String>(); HashMap<키, String> 변수명 = new HashMap<키, String>(); 변수명.put(키, String); 변수명.get(키); Set<Integer> 변수명 = 해시변수명.keySet(); Set<Integer> set = hm7.keySet(); | ||
설명 | index 없음 index 대신 key가 있음. ksy는 개발자가 직접 만들어 줌 HashMap 객체를 만들 때 첫번째 제네릭타입이 키의 자료형이 됨 key는 index 역할을 함. key값은 중복되서는 안됨. key값은 인덱스역할이기에 HashSet을 이용하여 중복하지 않게 사용함. 값을 입력할 때 이미 존재하는 key를 사용할 수 있음. ㄴ 이미 존재하는 key에 값을 입력하면 수정 처리함 키셋(변수명.keySet();)은 해시맵타입의 키를 set에 넣어주는 변수이며, 셋을 iterator를 사용하여 while문에 투입하여, iterator에 투입된 키셋과, 본래 해시맵의 자료를 사용한다 |
Generic(제네릭) : 자바 컬렉션 프레임워크에 이름을 붙이는 행위
컬렉션 프레임워크의 최대 단점 : 객체만 투입가능
대문자 A의 아스키코드는 65
소문자 a의 아스키코드는 97
32개의 차이가 남.
기본자료형 | 참조자료형화 |
boolean | Boolean |
char | Character |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
Character클래스를 제외하고
int i = Integer.valueOf("33")을 입력하면 33이 됨.
long l = Long.valueOf("33L")을 입력하면 33L이 됨.
boolean b = Boolean.ValueOf("true")를 입력하면 true가 됨.
다른 wrapper클래스에는 valueOf()가 있지만, character클래스에는 없음.
특정 내용의 변경을 이용하기 위해서는
MemberDTO m = MainEx.db.get(idx);
m.setName(name);
m.setAge(age);
의 방식을 사용함.
MemberDTO m이 MainEx.db.get(idx);값을 가리키게 만들고
m.setName(name);을 통하여 상기 힙메모리값에 저장함.
it.hasNext();
다음 값이 있는가
it.next();
다음 값을 반환하고, 지시자를 다음 값으로 옮길 것
커서→ |
|
| 100 |
| 200 |
| 300 |
| 400 |
| 500 |
상기 상황에서 hasNext의 경우 두번째 커서칸에 값이 있으므로 true
next의 경우 100을 반환하며, 100의 위치로 이동함.
|
|
커서→ | 100 |
| 200 |
| 300 |
| 400 |
| 500 |
상기 상황은 it.next까지 1회 실행된 상태이다.
상기 it는 100~500의 5개 값이 들어 있다.
정렬
Arrays.sort(소트할변수명, 컴퍼레이터_인터페이스_클래스)
컴퍼레이터 인터페이스 클래스는 implements Comparator<Integer>하여 사용 Integer는 원하는 것을 넣어 사용
public class MyComparator implements Comparator<Integer> {
@Override
public int compare(Integer o1, Integer o2) {
// TODO Auto-generated method stub
if(o1 > o2) {
return 1;
}else {
return -1;
}
}
}
팁.
2개 이상의 데이터를 입력할 시에는 put이라는 단어를 포함한 키워드로 작동하는 경우가 많음.
어레이리스트에서 자주 사용하는 메서드
boolean add(Object o) | ArrayList의 마지막에 객체를 추가하고 성공시 true값을 반환 |
void add(int index, Object element) | 지정된 index값에 객체를 저장 |
Object get(int index) | index값의 객체를 반환 |
int indexOf(Object o) | 지정된 객체가 저장된 index값 반환 |
boolean isEmpty() | ArrayList가 비어있는지를 확인 |
Object remove(int index) | index값에 위치한 객체를 제거 |
boolean removeAll(Collection c) | 특정 컬렉션 c를 파라미터로 받아 c에 저장된것과 동일한 객체를 ArrayList에서 삭제 |
int size() | ArrayList에 저장된 갯수를 반환 |
를 자주 사용함.
해시맵에서 자주 사용하는 메서드
void clear() | HashMap에 저장된 모든 객체를 제거 |
boolean containsKey(Object key) | HashMap에 지정된 키가 포함되어있는지 확인하여 있을때 true값 반환 |
boolean containsValue(Object value) | HashMap에 지정된 값이 포함되어있는지 확인하여 있을때 true값 반환 |
Object get(Object key) | 지정된 키의 값을 반환. 찾지 못하면 null값 반환 |
boolean isEmpty() | HashMap이 비어있는지 확인 |
Object put(Object key, Object value) | 지정된 키와 값을 HashMap에 저장 |
Object remove(Object key) | HashMap에서 지정된 키로 저장된 값을 제거 |
int size() | HashMap에 저장된 요소의 개수를 반환 |
'JAVA > JAVA 기본' 카테고리의 다른 글
JAVA File클래스 (0) | 2017.10.11 |
---|---|
JAVA Thread (0) | 2017.10.11 |
JAVA 에러와 예외, try~catch, throw (0) | 2017.10.11 |
JAVA 스캐너클래스, DTO클래스, 내/외부클래스 (0) | 2017.10.11 |
JAVA 인터페이스 (0) | 2017.10.11 |