MapleStory Cookie With Halo

☕ JAVA 114

[JAVA]TreeSet

TreeSet: Set인터페이스 중 탐색과 정렬에 유리한 구현클래스.중복❌이진 탐색 트리Binary search tree로 구현되었다.→ 장점 : 그래서 빠른 탐색이 빠르다.이진 트리는 모든 노드가 최대 2개의 하위 노드를 갖는다.단점 : 데이터가 많아질 수록 추가/삭제에 (비교횟수증가로) 시간이 오래 걸린다.💡 이진 탐색 트리 Binary search tree부모보다 작은 값은 왼쪽에, 큰 값은 오른쪽에 저장한다.따라서 값이 추가/삭제 될 때마다 정렬을 다시 한다.노드를 이용한다는 점에서 LinkedList와 비슷하다.2024.11.19 - [☕ 자바 JAVA/☕ 변수와 자료형 Variables & Data Type] - [JAVA]LinkedList와 QueueLinkedList의 노드는 양옆에 노..

[JAVA]반복문 for와 while

💡 반복문 Loop조건을 만족할 때까지 반복한다.  for (초기값, 조건, 증감) { code }  for ( ) 안을 살펴보겠습니다.int i = 0;→ i를 선언하고 0으로 초기화했습니다. 이 변수 i는 for문 안에서만 유효합니다.i → i가 5미만일 때까지만 { }코드 블럭을 실행합니다.i ++→ { }안의 코드가 실행될 때마다 i는 1씩 증가합니다.{ } : 위의 조건을 만족할 때까지 안의 코드를 반복합니다. 다양한 활용   💡 for문이 가장 많이 사용되는 건 배열이나 컬렉션의 값을 가져올 때입니다.   2중 for문  ❗ 3중 이상의 for문은 권장되지 않습니다. 객체의 크기가 너무 크면 과부하가 걸릴 수 있기 때문입니다. 하지만 필요하다면, 조건이 작을 때 사용할 수 있습니다.  향상..

[JAVA]HashSet

HashSet: Set인터페이스의 가장 대표적인 구현클래스.순서❌중복❌보통 set을 사용한다하면 hashSet을 말한다.순서를 유지하려면, LinkecHashSet클래스를 사용하면 된다.  생성자첫번째처럼 그냥 생성할 수도 있고()안에 Collection객체를 넣어서 ArrayList→HashSet 타입변환하면서 만들 수도 있다.(용량, 몇 퍼센트 찼을 때 용량을 두배로 늘릴 지) 지정할 수도 잇다. add(추가 값)중복된 값들은 저장되지 않았다.→ false 반환.→ 난수(random값)를 저장하기 좋다.순서가 있는 듯이 보이지만)사실상 순서도 없다.→ 정렬sort 불가. 그 외 메서드addAll(Collection c)remove(Object o)→ 지우고자 하는 값을 () 안에 적으면 된다.remo..

[JAVA]조건문 if과 switch

조건문 Conditional Statements조건이 참 true을 만족할 때 실행한다.  if (조건) {참일 때 실행}if ( ) 안의 조건이 참 true일 경우에만 { }의 코드가 실행됩니다.!true는 false이기 때문에 실행되지 않았습니다.  if-elseelse { }는 if 속하지 않을 경우 실행할 코드를 작성합니다.  if-else if다른 조건을 추가하고 싶을 때는 else if (n번째 조건) { }을 계속해서 추가할 수 있습니다.이렇게 여러번 나눠서 적은 이유는 if문을 다양하게 적을 수 있다는 것을 보여드리기 위함입니다.if() { }  else if () { } else { } 의 단어 뜻 그대로 생각하면 이해가 쉽습니다.만약 ~라면 ~한다. 아님 ~라면 ~하고, 그것도 아니라면..

[JAVA]배열[ ] 정렬sort()

정렬이 필요한 자료구조는?순서가 있는 자료형 Array[ ] 와 Listset은 순서가 없고, map은 key로 값을 가져옵니다.따라서 자바 기본 배열과 리스트만이 순서가 있으므로그 두가지 자료구조에서 정렬하는 방법을 알 필요가 있습니다.arrayList는 이름에서 알 수 있듯이 배열 저장방식을 사용하는 리스트입니다.  Arrays.sort(배열명)배열 정렬의 기본사전순. 오름차순. http://Arrays.sort() docs어떤 타입이든 배열[ ]을 인수로 사용하면 ascending오름차순으로 정렬한다.Arrays.sort(배열명, 시작 인덱스, 종료인덱스) → 구간만 정렬한다. 배열을 정렬할 때 사용하는 기본 함수인 sort()가오름차순으로 정렬되고, 원하는 구간만 정렬할 수 있다는 것을 알 수 있..

[JAVA]Comparator와 Comparable

Comparator & Comparable  Comparator기본 정렬기준을 구현한다.compare (Object o1, Object o2) 메서드를 가지고 있다. → o1과 o2를 비교해서 같으면 0, o1이 크면 양수, o2가 크면 음수를 반환한다.Comparable기본 정렬기준 외 다른 기준으로 정렬하고자 할 때 사용한다.compareTo (Object o) 메서드를 가지고 있다.→ 자기자신과 o를 비교한다. 같으면 0, 자기자신이 크면 양수, 매개변수가 크면 음수를 반한한다.  활용예제  implements Comparator를 상속받습니다.compare를 오버라이드합니다.if문에 instanceof Comparable를 확인하는 이유는 Comparable의 compareTo메서드를 사용하기 위..

[JAVA]연산자

연산에 사용되는 표시와 기호를 연산자.연산되는 데이터를 피연산자라고한다.  사칙연산자: 덧셈, 뺄셈, 곱셈, 나눗셈.  자바에서 사용하는 연산자 기호는 일반 수학에서 사용하는 표기와 다를 수 있습니다. example) 곱하기 연산은 자바에서 *로 표기합니다.  +  더하기 -   빼기 *   곱셈 /   나누기💡 코딩에서 %는 나머지를 뜻합니다.  대입연산자: 변수에 값을 대입한다.  +=-=*=/=%=코딩에서 변수i에 값을 더할 때 이런 식으로 i + 10 이라고 적지 않습니다.기능은 동일하지만 대입연산자를 사용하면 성능과 가독성이 올라가기 때문입니다. 나머지 % 란10을 7로 나눈 나머지 3이 나옵니다.  부호연산자 +와 -  부호연산자를 변수 앞에 붙인다.+연산자는 변수 값의 부호를 유지한다.-연..

[JAVA]Iterator, ListIterator, Enumeration

Enumeration : Iterator의 구버전입니다. Iterator: 각기 다른 구조를 가진 collection의 요소를 읽기위해 표준화한 것.hasNext(): 이터레이터에 다음 요소가 있는 지 확인 합니다. boolean 반환.next(): 다음 값을 가져옵니다.remove(): next() 다음에 적으면 해당 요소가 삭제됩니다.❗ 위 출력결과를 보시면 한번 읽어온 Iterator는 다시 순회할 수 없습니다. ListIterator: Iterator에 이전 값을 확인하는 메서드가 존재.   Collection이 바뀔 상황.ArrayList ↔ HashSet 으로 변경하는 상황에서 유리하다. 사실 실제로는 자주 사용하지 않습니다. 이유는일회용인데다가 List로 타입을 변환하려면 위와 같이 하나씩 ..

[JAVA]NaN과 Infinity

Infinity: 정수를 0.0으로 나눌 경우. 무한대의 숫자.0으로 나눌 때와의 차이0과 0.0으로 나눌 때 이러한 차이가 생기는 이유는 JAVA가 IEEE 754(부동 소수점 표준)을 따르기 때문입니다.이 표준은 수학적으로 무한대와 정의되지 않은 숫자를 허용합니다.0으로 나누는 것은 산술적으로 정의되지 않은 연산이기에 java.lang.ArithmeticException 예외가 발생합니다.  Double/Float.isInfinite(소수): infinity 다루기  NaN: Not a Number. 숫자가 아닌 값.자바에서 % 는 나머지를 구하는 연산자이기 때문에 0.0으로 나눌 시 NaN을 반환합니다.0으로 나눌 시에는 /나누기를 사용할 때와 마찬가지로 ArithmeticException예외가 발..

[JAVA]표준출력 System.out.print/println/printf()

모든 출력에 표준출력을 사용하지는 않습니다. 표준출력은 사용자와의 직접적인 상호작용이나 프로그램의 정상적인 출력 결과를 나타냅니다.(알고리즘을 풀 때와 달리 프로젝트에서는 생각보다 별로 사용할 일이 많지 않다는 거죠.) 프로그램 실행 중 발생하는 상태, 오류, 이벤트 등을 기록(Log)할 때는 Logger를 사용합니다.  System.out.print(): 줄바꿈❌ 출력.  System.out.println(): 줄바꿈⭕ 출력.❗ sysout표준 출력 중 가장 많이 사용되기에 자동완성 단어가 있는데 그게 바로 sysout입니다.  특징1 + 2 + ""→ 3 출력. 앞에서 부터 1 + 2를 더한 값 3에 + " "가 된 것입니다."" + 1 + 2→ 12 출력. 문자열 "" 이 앞에 오면 뒤의 값도 모두..

반응형