산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

자바 알고리즘

자바 알고리즘

이 튜토리얼에서는 예제를 통해 Java 컬렉션 프레임워크에서 제공하는 다양한 알고리즘에 대해 알아봅니다.

Java 컬렉션 프레임워크는 데이터 구조에 저장된 요소를 조작하는 데 사용할 수 있는 다양한 알고리즘을 제공합니다.

Java의 알고리즘은 컬렉션에 대한 다양한 작업을 수행하는 데 사용할 수 있는 정적 메서드입니다.

알고리즘은 다양한 컬렉션에 사용할 수 있으므로 일반 알고리즘이라고도 합니다. .

컬렉션 프레임워크에서 사용할 수 있는 다양한 메서드의 구현을 살펴보겠습니다.

<시간>

1. sort()를 사용한 정렬

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 정렬을 참조하십시오.

<시간>

2. shuffle()을 사용한 셔플

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() 메소드는 임의의 출력을 반환합니다.

무작위 출력을 원하는 게임에서 셔플링 알고리즘을 주로 사용합니다.

<시간>

3. 일상적인 데이터 조작

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);
        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() 수행 중 두 목록의 크기가 같아야 합니다.

<시간>

4. binarySearch()를 사용하여 검색

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 바이너리 검색을 방문하십시오.

<시간>

5. 구성

예를 들어,

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
<시간>

6. 극단값 찾기

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

  1. 자바 연산자
  2. 자바 주석
  3. 자바 for-each 루프
  4. 자바 문자열
  5. 자바 인터페이스
  6. 자바 익명 클래스
  7. 자바 리소스 사용
  8. 자바 주석
  9. 자바 어설션
  10. Java에서 난수를 생성하는 방법