2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Javaajava.util.Collections
Luokat tarjoavat joukon staattisia menetelmiä kokoelmien (kuten luetteloiden, joukkojen ja karttojen) muokkaamiseen tai palauttamiseen.Collections
Class on hyödyllisyysluokka, joka on suunniteltu tarjoamaan käteviä algoritmeja ja toimintoja kokoelmissa.Seuraava on pariCollections
Johdatus luokkiin ja niiden yleisesti käytettyihin menetelmiin.
sort(List<T> list)
、sort(List<T> list, Comparator<? super T> c)
binarySearch(List<? extends Comparable<? super T>> list, T key)
、binarySearch(List<? extends T> list, T key, Comparator<? super T> c)
reverse(List<?> list)
rotate(List<?> list, int distance)
fill(List<? super T> list, T obj)
copy(List<? super T> dest, List<? extends T> src)
min(Collection<? extends T> coll)
、max(Collection<? extends T> coll)
synchronizedList(List<T> list)
、synchronizedSet(Set<T> s)
、synchronizedMap(Map<K, V> m)
unmodifiableList(List<? extends T> list)
、unmodifiableSet(Set<? extends T> s)
、unmodifiableMap(Map<? extends K, ? extends V> m)
sort(List<T> list)
: Lajittele lista nousevaan järjestykseen, luettelon elementtien tulee toteutuaComparable
käyttöliittymä.- List<Integer> numbers = Arrays.asList(5, 3, 1, 4, 2);
- Collections.sort(numbers); // 排序后,numbers为 [1, 2, 3, 4, 5]
sort(List<T> list, Comparator<? super T> c)
: Lajittelee luettelon määritetyn vertailijan mukaan.- List<String> names = Arrays.asList("Charlie", "Alice", "Bob");
-
- // 根据字符串长度排序
- Collections.sort(names, (s1, s2) -> s1.length() - s2.length());
-
-
-
Huomautus: Kokoelmat.lajittelu(nimet, (s1, s2) -> s1.length() - s2.length()) (s1, s2) -> s1.length() - s2.length() Tämä on lambda-lauseke käytetään Comparator-rajapinnan vertailumenetelmän toteuttamiseen.
binarySearch(List<? extends Comparable<? super T>> list, T key)
: Käytä binaarihakua löytääksesi elementin luettelosta ja palauttaaksesi indeksin. Lista on lajiteltava.- List<Integer> sortedNumbers = Arrays.asList(1, 2, 3, 4, 5);
- int index = Collections.binarySearch(sortedNumbers, 3); // 返回索引 2
binarySearch(List<? extends T> list, T key, Comparator<? super T> c)
: Käytä binaarihakua löytääksesi elementin määritetyn vertailijan luettelosta.- List<String> sortedNames = Arrays.asList("Alice", "Bob", "Charlie");
- int index = Collections.binarySearch(sortedNames, "Bob", String::compareTo); // 返回索引 1
max(Collection<? extends T> coll)
: Palauttaa kokoelman suurimman elementin.- List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
- int max = Collections.max(numbers); // 返回 5
min(Collection<? extends T> coll)
: Palauttaa joukon pienimmän elementin.int min = Collections.min(numbers); // 返回 1
reverse(List<?> list)
: Kääntää luettelon elementit päinvastoin.- List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
- Collections.reverse(numbers); // 反转后,numbers为 [5, 4, 3, 2, 1]
shuffle(List<?> list)
: Sekoita luettelo satunnaisesti.Collections.shuffle(numbers); // numbers的元素顺序将被随机打乱
fill(List<? super T> list, T obj)
: Korvaa kaikki luettelon elementit määritetyllä elementillä.- List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c"));
- Collections.fill(list, "z"); // list 现在是 ["z", "z", "z"]
copy(List<? super T> dest, List<? extends T> src)
: Kopioi kaikki lähdeluettelon elementit kohdeluetteloon.- List<String> dest = Arrays.asList(new String[3]);
- List<String> src = Arrays.asList("a", "b", "c");
- Collections.copy(dest, src); // dest 现在是 ["a", "b", "c"]
unmodifiableList(List<? extends T> list)
: Palauttaa muokkaamattoman näkymän.- List<String> list = Arrays.asList("a", "b", "c");
- List<String> unmodifiableList = Collections.unmodifiableList(list);
- // unmodifiableList.add("d"); // 会抛出 UnsupportedOperationException
synchronizedList(List<T> list)
: Palauttaa lankaturvallisen luettelon.- List<String> list = new ArrayList<>();
- List<String> syncList = Collections.synchronizedList(list);
Tässä on kattava esimerkki siitäCollections
Joitakin yleisiä luokkamenetelmiä:
- import java.util.*;
-
- public class CollectionsExample {
- public static void main(String[] args) {
- List<Integer> numbers = new ArrayList<>(Arrays.asList(5, 3, 1, 4, 2));
-
- // 排序
- Collections.sort(numbers);
- System.out.println("排序后: " + numbers);
-
- // 反转
- Collections.reverse(numbers);
- System.out.println("反转后: " + numbers);
-
- // 随机打乱
- Collections.shuffle(numbers);
- System.out.println("随机打乱后: " + numbers);
-
- // 查找最大和最小值
- int max = Collections.max(numbers);
- int min = Collections.min(numbers);
- System.out.println("最大值: " + max + ", 最小值: " + min);
-
- // 二分搜索
- Collections.sort(numbers);
- int index = Collections.binarySearch(numbers, 3);
- System.out.println("元素 3 的索引: " + index);
-
- // 同步集合
- List<String> syncList = Collections.synchronizedList(new ArrayList<>());
- syncList.add("a");
- syncList.add("b");
- System.out.println("同步集合: " + syncList);
- }
- }
käyttämälläCollections
Nämä luokan tarjoamat menetelmät voivat helposti suorittaa erilaisia toimintoja kokoelmalle, mikä parantaa koodin luettavuutta ja ylläpidettävyyttä.