본문 바로가기
반응형

Backend/Java3

[자바] equals() & hashCode() 재정의 알고리즘을 풀던 중 Node라는 class를 만들어 set에 넣어 contains 메서드를 이용해 비교하려고했다. 객체를 비교하기 위해서는 클래스에 equals와 hashCode 메서드를 재정의해야했다. static class Node { int a; int b; public Node(int a, int b) { this.a = a; this.b = b; }}public static void main(String[] args) throws IOException { Node left = new Node(1, 2); Node right = new Node(1, 2); System.out.println(Objects.equals(left, righ.. 2024. 5. 16.
[자바] Stream API Stream API자바8부터 Stream API와 람다식 등을 지원하면서 자바를 이용해 함수형으로 프로그래밍할 수 있게 API를 제공해주고 있다. Stream API는 데이터의 종류에 상관없이 같은 방식으로 데이터를 처리할 수 있어 재사용성을 높일 수 있다. Stream API는 원본 데이터를 변경하지 않고, 일회용으로 한번 사용하면 재사용이 불가능하다. 또한, 내부 반복으로 작업을 처리하는 특징이 있다. Stream API를 사용하지 않은 경우에는 다음과 같이 배열과 리스트를 만들고 사용했다.String[] arr = {"Dog", "Cat", "Penguin", "Lion"};List list = Arrays.asList(arr);// 정렬: 원본 데이터가 정렬됨Arrays.sort(arr);Coll.. 2024. 5. 14.
[자바] Math.floorDiv & Math.floorMod 내용"음수 % 양수" 의 값이 음수로 나와 양수로 바꿔줄 필요가 있었다. Math클래스의 floorMod라는 연산을 찾았다.public static int floorMod(int x, int y) { return x - floorDiv(x, y) * y;}floorMod를 타고 들어가보니 floorDiv에 대해 먼저 알아야 했다. public static int floorDiv(int x, int y) { int r = x / y; // if the signs are different and modulo not zero, round down if ((x ^ y) floorDiv는 "x / y"의 몫을 구하는데 x와 y의 부호가 다를 경우 처리하는 로직이 여기에 있다. `(x ^ y).. 2024. 5. 11.
반응형