java
이 튜토리얼에서는 예제를 통해 Java 컬렉션 프레임워크에서 제공하는 다양한 알고리즘에 대해 알아봅니다.
Java 컬렉션 프레임워크는 데이터 구조에 저장된 요소를 조작하는 데 사용할 수 있는 다양한 알고리즘을 제공합니다.
Java의 알고리즘은 컬렉션에 대한 다양한 작업을 수행하는 데 사용할 수 있는 정적 메서드입니다.
알고리즘은 다양한 컬렉션에 사용할 수 있으므로 일반 알고리즘이라고도 합니다. .
컬렉션 프레임워크에서 사용할 수 있는 다양한 메서드의 구현을 살펴보겠습니다.
<시간>
sort()
컬렉션 프레임워크에서 제공하는 메서드는 요소를 정렬하는 데 사용됩니다. 예를 들어,
import java.util.ArrayList;
import java.util.Collections;
class Main {
public static void main(String[] args) {
// Creating an array list
ArrayList<Integer> numbers = new ArrayList<>();
// Add elements
numbers.add(4);
numbers.add(2);
numbers.add(3);
System.out.println("Unsorted ArrayList: " + numbers);
// Using the sort() method
Collections.sort(numbers);
System.out.println("Sorted ArrayList: " + numbers);
}
}
출력
Unsorted ArrayList: [4, 2, 3] Sorted ArrayList: [2, 3, 4]
여기에서 정렬은 자연스러운 순서(오름차순)로 발생합니다. 그러나 sort()
의 정렬 순서를 사용자 지정할 수 있습니다. 비교기 인터페이스를 사용하는 방법 .
자세한 내용은 Java 정렬을 참조하십시오.
<시간>
shuffle()
Java 컬렉션 프레임워크의 메서드는 데이터 구조에 있는 모든 종류의 순서를 파괴하는 데 사용됩니다. 정렬과 반대의 작업을 수행합니다. 예를 들어,
import java.util.ArrayList;
import java.util.Collections;
class Main {
public static void main(String[] args) {
// Creating an array list
ArrayList<Integer> numbers = new ArrayList<>();
// Add elements
numbers.add(1);
numbers.add(2);
numbers.add(3);
System.out.println("Sorted ArrayList: " + numbers);
// Using the shuffle() method
Collections.shuffle(numbers);
System.out.println("ArrayList using shuffle: " + numbers);
}
}
출력
Sorted ArrayList: [1, 2, 3] ArrayList using shuffle: [2, 1, 3]
프로그램을 실행할 때 shuffle()
메소드는 임의의 출력을 반환합니다.
무작위 출력을 원하는 게임에서 셔플링 알고리즘을 주로 사용합니다.
<시간>Java에서 컬렉션 프레임워크는 데이터를 조작하는 데 사용할 수 있는 다양한 메서드를 제공합니다.
reverse()
- 요소의 순서를 반대로 합니다.fill()
- 컬렉션의 모든 요소를 지정된 값으로 교체copy()
- 지정된 소스에서 대상으로 요소의 복사본을 만듭니다.swap()
- 컬렉션에서 두 요소의 위치를 바꿉니다.addAll()
- 컬렉션의 모든 요소를 다른 컬렉션에 추가예를 들어,
import java.util.Collections;
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// Creating an ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(2);
System.out.println("ArrayList1: " + numbers);
// Using reverse()
Collections.reverse(numbers);
System.out.println("Reversed ArrayList1: " + numbers);
// Using swap()
Collections.swap(numbers, 0, 1);
System.out.println("ArrayList1 using swap(): " + numbers);
ArrayList<Integer> newNumbers = new ArrayList<>();
// Using addAll
newNumbers.addAll(numbers);
System.out.println("ArrayList2 using addAll(): " + newNumbers);
// Using fill()
Collections.fill(numbers, 0);
System.out.println("ArrayList1 using fill(): " + numbers);
// Using copy()
Collections.copy(newNumbers, numbers);
System.out.println("ArrayList2 using copy(): " + newNumbers);
}
}
출력
ArrayList1: [1, 2] Reversed ArrayList1: [2, 1] ArrayList1 Using swap(): [1, 2] ArrayList2 using addALl(): [1, 2] ArrayList1 using fill(): [0, 0] ArrayList2 using copy(): [0, 0]
참고 :copy()
수행 중 두 목록의 크기가 같아야 합니다.
binarySearch()
Java 컬렉션 프레임워크의 메소드는 지정된 요소를 검색합니다. 지정된 컬렉션에서 요소의 위치를 반환합니다. 예를 들어,
import java.util.Collections;
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// Creating an ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
// Using binarySearch()
int pos = Collections.binarySearch(numbers, 3);
System.out.println("The position of 3 is " + pos);
}
}
출력
The position of 3 is 2.
참고 :binarySearch()
를 수행하기 전에 컬렉션을 정렬해야 합니다. 방법.
자세한 내용은 Java 바이너리 검색을 방문하십시오.
<시간>frequency()
- 컬렉션에 요소가 있는 횟수를 반환합니다.disjoint()
- 두 컬렉션에 몇 가지 공통 요소가 포함되어 있는지 확인합니다.예를 들어,
import java.util.Collections;
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// Creating an ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(2);
System.out.println("ArrayList1: " + numbers);
int count = Collections.frequency(numbers, 2);
System.out.println("Count of 2: " + count);
ArrayList<Integer> newNumbers = new ArrayList<>();
newNumbers.add(5);
newNumbers.add(6);
System.out.println("ArrayList2: " + newNumbers);
boolean value = Collections.disjoint(numbers, newNumbers);
System.out.println("Two lists are disjoint: " + value);
}
}
출력
ArrayList1: [1, 2, 3, 2] Count of 2: 2 ArrayList2: [5, 6] Two lists are disjoint: true<시간>
min()
및 max()
Java 컬렉션 프레임워크의 메소드는 각각 최소 및 최대 요소를 찾는 데 사용됩니다. 예를 들어,
import java.util.Collections;
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// Creating an ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(2);
numbers.add(3);
// Using min()
int min = Collections.min(numbers);
System.out.println("Minimum Element: " + min);
// Using max()
int max = Collections.max(numbers);
System.out.println("Maximum Element: " + max);
}
}
출력
Minimum Element: 1 Maximum Element: 3
java
자바에서 ArrayList란 무엇입니까? 자바의 ArrayList 자체 내부에 추가 요소를 수용하기 위해 늘어나거나 요소가 제거되면 더 작은 크기로 축소될 수 있는 데이터 구조입니다. 요소의 동적 동작을 처리하는 데 유용한 매우 중요한 데이터 구조입니다. ArrayList Java가 어떻게 유용할 수 있는지 궁금하면 아래 대화를 참조하십시오. – Java ArrayList 예제는 고무줄을 스트레칭하는 다음 사진을 참조하십시오. 고무 밴드의 실제 길이는 훨씬 더 작지만 늘어나면 실제 길이보다 훨씬 더 늘어날 수 있으며
일반적으로 Numbers로 작업할 때 byte, int, long, double 등과 같은 기본 데이터 유형을 사용합니다. 예시 int i = 5000; float gpa = 13.65f; double mask = 125; 그러나 개발 과정에서 기본 데이터 유형 대신 객체를 사용해야 하는 상황을 접하게 됩니다. 이를 달성하기 위해 Java는 래퍼 클래스를 제공합니다. . 모든 래퍼 클래스(Integer, Long, Byte, Double, Float, Short)는 추상 클래스 Number의 하위 클래스입니다. 래퍼 클래