본문 바로가기

Java44

[Java] 📚 문자열 형변환 Object to String : Casting, valueOf, toString valueOf(Object obj) Returns the string representation of the Object argument. (Java docs) : 파라미터에 들어가는 Object (int, double ...)를 String 문자열 표현으로 바꿔서 반환한다. if the argument is null, then a string equal to "null"; otherwise, the value of obj.toString() is returned. (Java docs) : 파라미터가 null 이라면, String 문자열로 "null"이 반환되며, null 이 아니라면 toString() 함수값을 반환한다. Object.toString() In general, the toString me.. 2023. 3. 5.
[Java] 📚 배열 정렬하기 Arrays.sort() Java에서 Array나 List를 정렬하고 싶다면 java.util.Arrays 클래스의 sort()메서드를 사용하면 따로 정렬 로직을 구현하지 않더라도 정렬할 수 있다. Arrays 클래스는 Array의 복사, 항목 정렬, 검색과 같은 Array 조작 기능을 가지고 있다. 배열 오름차순 정렬 Arrays.sort()메서드의 매개값으로 기본 타입 Array나 String Array를 지정하면 자동으로 오름차순 정렬이 된다. 기본 타입 배열 오름차순 정렬 (Ascending sort) import java.util.Arrays; public class Sort { public static void main(String[] args) { int arr[] = {1,2,3,4,6,7,10}; Arrays.s.. 2022. 8. 17.
[Data Structure / Java] ✒️ Map Array는 index로 빠르게 읽기는 좋은데 유연하지 못하고 ... List는 유연하기는 한데 index로 빠르게 읽기는 못하고... 유연하면서도 빠르게 읽어내는 방법이 없을까? Map Key와 Value로 이루어진 자료구조. 순차적으로 메모리에 데이터를 저장하는 Array와 List와는 달리 Key와 Value로 구성되어 있다. hashing: Key를 범위(배열 크기)에 맞게 적절히 겹치지 않는 index로 변경한다. hash function: hashing의 기능을 수행함, key값을 넣으면 hash값으로 변환하여 bucket의 index로 사용된다. bucket: Map의 Array hash collision: 해쉬 충돌, 이미 존재하는 key값에 다른 key값으로 같은 hash의 index를 .. 2022. 8. 12.
[Data Structure / Java] ✒️ ArrayList와 LinkedList의 차이 List 개념 이해하기 자료구조 중 하나인 List는 배열의 한계를 극복할 수 있는 강력한 자료구조 중 하나이며 데이터를 단순하지만 효율적으로 다룰 수 있는 자료구조이다. List는 Array처럼 어떠한 데이터들을 묶기 위한 개념이다. Array와 대표적으로 다른 특징들은 아래와 같다. 데이터를 담을 공간의 추가가 가능하다. (Array는 초기 공간을 지정하기 때문에 한정적) 데이터를 담을 공간의 삭제가 가능하다. (Array는 데이터가 담기는 공간의 값을 변경할 수 있지만 그 공간을 삭제할 수 는 없다.) 즉, 크기가 가변적이다. List 인터페이스의 구현체에는 Stack, Vector, ArrayList, LinkedList가 있다. 이 중에서도 대표적인 클래스인 ArrayList와 LinkedLis.. 2022. 8. 8.
[Data Structure / Java] ✒️ 컴퓨터가 데이터를 다루는 방법 Java는 데이터를 어떻게 표현하는가 Java는 크게 두 가지 Data Type을 사용한다. Primitive Reference (Object) Primitive Type와 Reference Type이 어떻게 다른지를 이해하기 위해서는 이 타입들이 컴퓨터 메모리에서 어떻게 존재하는지를 이해해야 한다. Primitive Type은 ? int i = 42; float pi = 3.14; boolean b = true; i 라는 int 변수 하나가 만들어져 있다. 이 변수는 메모리 상 어딘가에 42라는 값이 저장이 된다. 우리는 i라는 변수를 사용하면 메모리에서 42라는 값을 꺼내와서 사용할 수 있다. pi 라는 float 변수와 b 라는 boolean 변수도 동일하게 pi 나 b 라는 변수를 사용하여 메모리.. 2022. 8. 3.
[Java] 📚 BufferedReader / BufferedWriter를 활용한 빠른 입출력 BufferedReader / BufferedWriter BufferedReader / BufferedWriter는 Buffer에 있는 IO 클래스이다. 입력된 데이터가 바로 전달되지 않고 중간에 버퍼링이 된 후에 전달된다. 출력도 마찬가지로 버퍼를 거쳐 간접적으로 출력장치에 전달되기 때문에 시스템의 데이터 처리 효율성을 높여주며 버퍼 스트림을 InputStreamReader / OutputStreamWriter 를 같이 사용하여 버퍼링을 하게 되면 입출력 스트림으로부터 미리 버퍼에 데이터를 갖다 놓기 때문에 보다 효율적인 입출력이 가능하다. 쉽게 말해 버퍼를 이용해서 입출력을 하는 메소드라는 것이다. Java를 공부한 지 얼마 안 된 저와 같은 사람들은 대부분 Scanner 클래스를 사용하여 입력을 받.. 2022. 5. 28.