HashSet을 이용한 집합연산 교집합 : .retainAll() 메소드 이용 HashSet s1 = new HashSet(Arrays.asList(1, 2, 3, 4, 5)); HashSet s2 = new HashSet(Arrays.asList(2, 4, 6, 8, 10)); s1.retainAll(s2); System.out.println(s1); // output : [2, 4] 합집합 : .addAll() 메소드 이용 HashSet s1 = new HashSet(Arrays.asList(1, 2, 3, 4, 5)); HashSet s2 = new HashSet(Arrays.asList(2, 4, 6, 8, 10)); s1.addAll(s2); System.out.println(s1); // ou..
스트림(Stream) Stream : 배열, 컬렉션 등의 데이터를 하나씩 참조하여 함수형으로 처리하는 방법. 스트림의 요소 생성 : 스트림의 생성. - 배열의 경우 int arr1[] = new int[]{1, 2, 3}; IntStream st1 = Arrays.stream(arr1); String arr2[] = new String[]{"a", "b", "c"}; Stream st2 = Arrays.stream(arr2); - 컬렉션의 경우 HashSet set = new HashSet(); Stream st2 = set.stream(); - Builder : 스트림에 데이터를 추가하는 연산. 모든 연산이 끝난 이후 .build()를 입력하여 종료. Stream st = Stream.builder()..
클래스와 다형성 다형성 : 프로그램 언어의 각 요소들이 다양한 자료형에 속하는 것이 허가되는 성질. ↔ 단형성 : 프로그램 언어의 각 요소들이 한가지 자료형만 가지는 성질. 단형성을 갖는 자료형 : bool, char, short, int, long, float, double 등 다형성을 갖는 자료형 : var(JavaScript), Python의 변수, 상속 관계의 Class 등 상속(Inheritance) : 코드 중복을 줄이기 위해 한 클래스가 다른 클래스에 정의 된 변수나 함수를 이어받아 그대로 이용하는 것. 이때 상속은 자식 클래스 → 부모 클래스의 방향으로만 이루어지며, 한 번에 한 부모에게만 상속이 가능하다. class Animals{};// 부모 클래스 class Dogs extends A..
String : .equals()와 ==의 차이, 그리고 StringBuffer 자바에서 String 자료형 비교를 하다 보면, 같은 값임에도 불구하고 .equals()와 ==의 결과값의 차이가 나타날 때가 있다. 이러한 차이는 어떤 이유에서 비롯된 것일까? .equals() : 두 문자열의 값이 같은지 비교함. == : 두 문자열의 메모리 주소값이 같은지 비교함. 때문에 같은 값이 있더라도 ==로 비교하게 되면 메모리 주소값이 달라 false가 출력될 수 있다. 또한 JAVA의 String 객체는 아래와 같은 특성이 있다. C와 달리, 자바의 String은 변수 자체에 저장되는 것이 아닌 String Object로 생성이 되며, Object의 값이 같은 경우 새로운 Object를 생성하는 것이 아닌 주..