Language
[JAVA] Comparator
Comparator는 기본적으로 하나의 추상 메서드만을 가지는 함수형 인터페이스입니다. 그래서 사용을 위해 다음 이미지와 같이 선언되어있는 추상 메서드인 int compare(T o1, T o2)를 구현하면 됩니다. Comparator 인터페이스의 구현 내부를 살펴보면 compare 추상 메서드 외에도 다른 메서드들이 많이 선언되어 있는 것을 확인할 수 있습니다. 처음 해당 메서드들을 접했을 때는 메서드가 이렇게 많이 선언되어 있는데 왜 FunctionalInterface로 선언될 수 있는 건지 궁금했는데요. 기본적으로 Java에서 모든 클래스와 인터페이스는 Object 클래스에 선언되어 있는 메서드들을 상속받습니다. 또한 default 메서드 혹은 정적 메소드 같은 경우는 FunctionalInterf..
[Java] String to List
String to List 변환 //String -> List String str = "abc" List list = str.chars().mapToObj(c -> (char) c).collect(Collectors.toList()); String to List변환 //String -> List String str1 = "123"; int[] intArr = Arrays.stream(str1.split("")).mapToInt(Integer::parseInt).toArray(); List list2 = Arrays.stream(intArr).boxed().collect(Collectors.toList());
[Java] String to Integer, Integer to String
String to Integer import java.util.Arrays; // string to int String str = "100"; int num = Integer.parseInt(str); // string array to int Array String[] strArr = {"100", "200", "300"}; int[] intArr = Arrays.stream(strArr) .mapToInt(Integer::parseInt)//mapToInt(x->Integer.parseInt(x)) .toArray(); System.out.println(Arrays.toString(intArr));//[100,200,300] Integer to String import java.util.Arrays; ..
배열(Array)과 리스트(List)
배열(Array) 배열은 여러 개의 데이터들을 하나의 이름으로 묶어서 관리하기 위한 자료구조이다. 배열은 각 저장공간을 가리키는 index를 갖고 있으며 저장되어 있는 값에 접근할 때 이 index를 통해 접근한다. 배열은 초기 생성시 크기를 정해서 생성해주어야 하며 한 번 생성된 이후에는 크기를 변경할 수 없다. 초기에 정의된 크기대로 연속된 메모리 공간을 점유한다. 즉 논리적 저장 순서와 물리적 저장 순서가 일치한다. 장점 메모리 공간이 연속적이어서 관리가 편하다. index를 이용하기 때문에 데이터 조회가 빠르다. 단점 배열의 크기가 초기 생성시에 정해지면 그 이상의 데이터를 저장할 수 없다. 이를 변경하기 위해서는 새로운 배열을 생성해야 한다. 배열의 중간에 데이터가 삭제되면 빈 공간이 생겨 메모..
java.util.Arrays 정리
Arrays 클래스 개요 Arrays 클래스는 배열을 조작하기 위한(정렬 및 검색 등) 다양한 메소드들을 포함하고 있는 클래스이다. 이 클래스는 배열을 리스트처럼 다룰 수 있도록 하게 해주는 static factory를 포함한다. ※ static factory : 클래스의 인스턴스화, 즉 객체 생성을 constructor(생성자)가 아닌 static 메소드로 하는 것을 static factory 메소드라고 한다. 대표적인 Arrays 메소드 메소드 설명 static List asList(T...a) 전달받은 배열을 고정 크기의 List로 변환하여 리턴 static int binarySearch(Object[] a, Object key) binary search 알고리즘을 이용하여 주어진 배열에서 key값..