본문 바로가기

JAVA/Java Study22

[Java] StringTokenizer - split()과의 차이점 StringTokenizer 문자열을 구분자를 이용하여 분리할 때 사용 가능 말 그대로 String(문자열)을 Tokenizer(조각화)한다! 생성자 StringTokenizer st = new StringTokenizer("abc def"); // 띄어쓰기(공백) 기준 StringTokenizer st2 = new StringTokenizer("abc,def", ","); // 구분자 기준 StringTokenizer st3 = new StringTokenizer("abc,def", ",", true); // (or false) 1. 문자열만 이용 띄어쓰기를 기준으로 나눠지게 된다. ex) abc와 def 2. 문자열, 구분자 구분자를 기준으로 나누어진다. ex) abc와 def 3. 문자열, 구분자,.. 2024. 1. 28.
[Java] StringJoiner StringJoiner 여러 문자들을 연결할 때 붙일 구분자(delimiter)를 지정 기존에 내가 사용하던 방법 // String + 연산자 사용 String a = "a"; String b = "b"; String c = "c"; String alphabet = a + "-" + b + "-" + "c"; // StringBuffer, StringBuilder StringBuffer sb = new StringBuffer(); sb.append(a); sb.append("-"); sb.append(b); sb.append("-"); sb.append(c); String alphabet = sb.toString(); StringJoiner 사용 StringJoiner sj = new StringJoin.. 2024. 1. 28.
[Java] HashMap : value로 key 찾기 keySet() 메서드와 for문 사용 (1:1) keySet() 메서드와 for문을 사용하는 방법은 모든 키를 가져와서 반복문을 실행한다. 키에 매핑된 값과 특정 값이 일치하면 키를 반환한다. 이 방법은 키와 값이 1:1 관계인 경우에만 사용할 수 있다. public static void main(String[] args) { String findKey = ""; Map map = new HashMap(); map.put("John", 34); map.put("Jane", 26); map.put("Billy", null); // 모든 키를 순회합니다. for(String key : map.keySet()) { // 키와 매핑된 값이랑 equals() 메서드에 전달된 값이랑 일치하면 반복문을 종료합니다... 2024. 1. 28.
[Java] 진수 변환 쉽게하기 (10진수 ↔ 2진수, 8진수, 16진수) 10진수를 2진수, 8진수, 16진수로 변환할 때, Integer 클래스의 함수를 사용하면 쉽게 변환 가능하다. 각각 toBinaryString, toOctalString, toHexString 함수를 사용하면 된다. int i = 127; String binaryString = Integer.toBinaryString(i); //2진수 String octalString = Integer.toOctalString(i); //8진수 String hexString = Integer.toHexString(i); //16진수 System.out.println(binaryString); //1111111 System.out.println(octalString); //177 System.out.println(hex.. 2024. 1. 28.
[Java] 정수 제곱근 판별 제곱근이 1로 나누어 떨어진다. → 제곱근이 자연수다! Math.sqrt(n) % 1 == 0 참고로 Math.sqrt()은 제곱근(루트)을 구하는 함수이다. public class Sqrt { public static void main(String[] args) { double result = Math.sqrt(25); // 25의 제곱근 = 5 System.out.println("25의 제곱근 : "+ result); } } 동기분이 알려주신 다른 방법! double num1 = Math.sqrt(6); if (num1 - (int)num1 > 0) { System.out.println("무리수"); } 참고 [Java] 자바 제곱근(루트) 구하기 Math.sqrt() 자바에서 특정값의 제곱근(루트).. 2024. 1. 28.
[Java] HashMap Map 키와 값으로 구성된 Entry 객체를 저장하는 구조를 가지고 있는 자료구조 키와 값은 모두 객체 값은 중복 저장될 수 있지만, 키는 중복 저장 불가 만약 기존의 키와 동일한 키로 값을 저장하면 기존의 값에서 새로운 값으로 대치됨 HashMap Map 인터페이스를 구현한 대표적인 Map 컬렉션 Map 인터페이스를 상속하고 있기에 Map의 성질을 그대로 가지고 있음 이름 그대로 해싱(Hashing)을 사용하기 때문에 많은 양의 데이터를 검색하는 데 있어 성능이 뛰어남 HashMap은 해시 함수를 통해 '키'와 '값'이 저장되는 위치를 결정하므로, 사용자는 그 위치를 알 수 없다. 또, 삽입되는 순서와 들어있는 위치 또한 관계가 없다. HashMap 선언 HashMap map1 = new HashMap.. 2024. 1. 15.