JAVA(5)
-
[JAVA] 게시판 등에 자주 사용되는 "몇 분전, 몇 시간전, 2일전" 이런 표현 나타내기
public static String convertLocaldatetimeToTime(LocalDateTime localDateTime) { LocalDateTime now = LocalDateTime.now(); long diffTime = localDateTime.until(now, ChronoUnit.SECONDS); // now보다 이후면 +, 전이면 - String msg = null; if (diffTime < SEC){ return diffTime + "초전"; } diffTime = diffTime / SEC; if (diffTime < MIN) { return diffTime + "분 전"; } diffTime = diffTime / MIN; if (diffTime < HOUR) { re..
2023.05.02 -
[JAVA] HashMap 구현 - Hash 값으로 index 만들어서 검색 효율 높이기
직접 HashMap을 구현하는 작업중 의문이 발생했다. HashMap은 제너릭으로 Key값과 Value 값을 가진다. 그래서 처음에는 Key에 대한 ArrayList와 Value에 대한 ArrayList 를 만들어서 HashMap을 구현했다. 그런데 이렇게 하면 자료구조가 맞나..? 해시값을 사용하지도 않았을 뿐더러 검색 시간복잡도가 좋다고 알고있는 HashMap이 너무 구려진다. 그래서 다시 해시값을 이용해서 다시 구현했다. 간단한 HashMap을 구현하는 것이기 때문에 Key 값은 따로 저장하지 않고 해시값을 구해서 index로만 사용했다. [문제 발생] 그런데, Key의 해시값을 구하면 배열의 index로는 도저히 사용할 수 없는 정수값이 나온다. 그래서 배열의 크기로 해시값을 나눈 나머지를 ind..
2023.04.20 -
JSON 파일(데이터) 읽기/파싱 (json.simple.JSONParser)
JSON 파일 읽기 JSONParser parser = new JSONParser(); Reader reader = new FileReader("제이슨 파일 경로명"); Object obj = parser.parse(Reader 이름); 우선 file을 Obejct객체로 받는다. 그리고 받은 객체의 형식에 따라 다음과 같이 나누어진다. - JSONObject (JSON 객체 단건일 경우) JSONObject jsonobj = (JSONObject)obj; //jsonobj가 가지고 있는 각각 값들 빼내기 String name = (String)obj.get("name"); int age = (int)obj.get("age"); String hobby = (String)obj.get("hobby") jso..
2023.03.02 -
JSON 파일로 저장 (json.simple.[JSONObject/JSONArray] )
build.gradle dependencies { testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1' //json-simple 추가 implementation 'org.json:json:20190722' implementation 'com.googlecode.json-simple:json-simple:1.1.1' } JSONObject JSONObject obj = new JSONObject(); obj.put("name", "재준") obj.put("year", 27) obj.put("hobby", "exercise") 다음과 같이..
2023.03.02 -
예외 (Exception) 간단 정리
1/29 트랜잭션에 대해서 공부하기 위해서 예외 관련해서 간단하게 정리하려고 한다. * Checked Exception / Unchecked Exception * Checked Exception -> RuntimeException 을 상속받지 않은 예외 - Compile 오류 O - 예외 발생 시 롤백X - 반드시 throws 예외를 처리해야 한다. - ex) SQLException, IOExeption, FileNotFoundException 등 * Unchecked Exception -> RuntimeException 을 상속받은 예외 - Compile 오류 X - 예외 발생 시 롤백O - 명시적인 처리를 강제하지 않는다. (throws 굳이 안 써도 된다.) - NullPointException, ..
2023.01.29