목록Java (308)
SeouliteLab
리스트 정렬 방법 Java에서 리스트를 정렬하는 것은 매우 일반적인 작업입니다. 이번 글에서는 Java에서 리스트를 정렬하는 세 가지 방법을 살펴보겠습니다. 1. Collections.sort() 메서드 사용 Collections 클래스의 sort() 메서드를 사용하여 리스트를 정렬할 수 있습니다. 이 메서드는 리스트를 직접 변경하므로 원본 리스트의 요소 순서가 변경됩니다. import java.util.*; public class Main { public static void main(String[] args) { List numbers = new ArrayList(Arrays.asList(3, 1, 2)); Collections.sort(numbers); System.out.println("정렬된 리..
HashSet 정렬 방법 Java의 HashSet은 정렬되지 않은 데이터를 저장하는데 유용한 컬렉션입니다. 하지만 때때로 정렬된 순서로 요소를 가져오고 싶을 때가 있습니다. 이번 글에서는 Java에서 HashSet을 정렬하는 세 가지 방법을 살펴보겠습니다. 1. TreeSet 사용 TreeSet은 정렬된 순서로 요소를 저장하는 Set 인터페이스의 구현체입니다. TreeSet에 요소를 추가하면 자동으로 정렬됩니다. import java.util.*; public class Main { public static void main(String[] args) { Set numbers = new TreeSet(Arrays.asList(3, 1, 2)); System.out.println("정렬된 HashSet: ..
리스트 정렬이란? Java에서 리스트를 정렬하는 것은 리스트 내의 요소들을 특정한 순서로 재배열하는 과정입니다. 이를 통해 리스트의 요소들을 오름차순 또는 내림차순으로 정렬할 수 있습니다. 이 글에서는 Java에서 리스트를 정렬하는 세 가지 방법을 살펴보겠습니다. 1. Collections.sort() 메서드 사용 Collections.sort() 메서드를 사용하여 리스트를 정렬할 수 있습니다. 이 메서드는 리스트의 요소들을 기본적으로 오름차순으로 정렬합니다. import java.util.*; public class Main { public static void main(String[] args) { List numbers = new ArrayList(Arrays.asList(3, 1, 2)); Col..
2차원 배열이란? 2차원 배열은 배열의 배열로 구성되어 있습니다. 이는 행(row)과 열(column)의 형태로 데이터를 저장합니다. Java에서 2차원 배열은 행과 열의 크기를 지정하여 선언할 수 있습니다. 2차원 배열 선언 및 초기화 아래 예제는 2차원 배열을 선언하고 초기화하는 방법을 보여줍니다. public class Main { public static void main(String[] args) { // 2차원 배열 선언 및 초기화 int[][] twoDArray = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; // 2차원 배열 요소 출력 for (int i = 0; i < twoDArray.length; i++) { for (int j = 0; j < twoDArray[..
HashSet.contains() 메서드 소개 HashSet.contains() 메서드는 HashSet에 특정 요소가 포함되어 있는지 여부를 확인하는 데 사용됩니다. 이 메서드는 boolean 값을 반환하며, HashSet에 해당 요소가 포함되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. contains() 메서드 사용 예제 아래 예제에서는 HashSet의 contains() 메서드를 사용하여 HashSet에 특정 요소가 포함되어 있는지 여부를 확인하는 방법을 보여줍니다. import java.util.HashSet; public class Main { public static void main(String[] args) { HashSet set = new HashSet(); /..
HashSet.addAll() 메서드 소개 HashSet.addAll() 메서드는 하나의 HashSet에 다른 컬렉션의 모든 요소를 추가하는 데 사용됩니다. 이를 통해 중복 요소는 자동으로 제거되며, 순서는 보장되지 않습니다. addAll() 메서드 사용 예제 아래 예제에서는 HashSet의 addAll() 메서드를 사용하여 두 HashSet을 결합하는 방법을 보여줍니다. import java.util.HashSet; public class Main { public static void main(String[] args) { HashSet set1 = new HashSet(); HashSet set2 = new HashSet(); // 첫 번째 HashSet에 요소 추가 set1.add(1); set1...
Java에서는 직렬화와 역직렬화를 통해 객체를 파일로 저장하거나 네트워크를 통해 전송할 수 있습니다. 직렬화는 객체를 바이트 스트림으로 변환하는 과정이며, 역직렬화는 바이트 스트림에서 객체를 다시 복원하는 과정입니다. 아래에서는 각각의 개념과 예제를 살펴보겠습니다. 1. 직렬화(Serialization)란? 직렬화는 객체를 바이트 스트림으로 변환하여 저장하거나 전송하기 위한 과정입니다. 이를 위해 객체는 java.io.Serializable 인터페이스를 구현해야 합니다. import java.io.*; class Person implements Serializable { private String name; private int age; public Person(String name, int age) {..
람다식(Lambda Expression) 람다식은 익명 함수를 생성하기 위한 축약된 형태의 표현입니다. 함수를 간결하게 표현할 수 있도록 도와줍니다. 익명 함수(Anonymous Function) 익명 함수는 이름이 없는 함수로, 함수를 변수에 할당하거나 다른 함수에 전달하는 데 사용됩니다. 람다식과 익명 함수의 차이점 1. 문법: 람다식은 간결한 형태로 작성되며, 화살표(`->`)를 사용하여 파라미터와 메소드 본문을 구분합니다. 익명 함수는 기존의 메소드와 동일한 문법을 사용합니다. 2. 타입 유추: 람다식은 컴파일러가 타입을 유추할 수 있기 때문에 보통 파라미터의 타입을 생략할 수 있습니다. 익명 함수는 보통 명시적으로 타입을 지정해야 합니다. 3. 인터페이스 요구사항: 람다식은 함수형 인터페이스(F..
do-while 루프 do-while 루프는 루프의 본문을 실행한 후에 조건을 검사합니다. 따라서 조건이 false라도 루프의 본문은 최소한 한 번은 실행됩니다. while 루프 while 루프는 루프의 본문을 실행하기 전에 조건을 검사합니다. 따라서 조건이 false이면 루프의 본문은 한 번도 실행되지 않을 수 있습니다. do-while과 while의 차이점 do-while 루프와 while 루프의 가장 큰 차이점은 루프의 본문을 실행하기 전에 조건을 검사하는지 여부입니다. do-while 루프 예제 int i = 0; do { System.out.println(i); i++; } while (i < 5); while 루프 예제 int i = 0; while (i < 5) { System.out.pri..
Java에서 XOR 연산자 (^) 사용하기 XOR(Exclusive OR) 연산자는 두 피연산자 중 하나만 true일 때 true를 반환합니다. Java에서는 ^ 기호로 표시됩니다. 이 연산자는 비트 단위로 각 비트를 비교하고 다르면 결과를 1로 설정합니다. XOR 연산자 예제 1. 정수형 변수 간의 XOR 연산 int a = 10; int b = 5; int result = a ^ b; System.out.println("Result: " + result); // 출력 결과: 15 2. 이진수 간의 XOR 연산 int num1 = 12; // 이진수: 1100 int num2 = 10; // 이진수: 1010 int result = num1 ^ num2; // 결과: 0110 (10진수로는 6) Sys..