Sortering/sökning med Collections
Använd Collections.sort, Collections.binarySearch och Comparators för anpassad sortering och sökning.
Sortering/sökning med Collections är en gratis lektion i Java Academy på CoddyKit. Detta är lektion 3 av 3. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Java Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Java Academy innehåller totalt 3 lektioner.
Introduktion
Sortering organiserar data för snabb sökning. Javas Collections innehåller de inbyggda verktygen sort och binarySearch.
Grunderna i sortering
Collections.sort sorterar en List på plats. Som standard används naturlig ordning, till exempel stigande tal och strängar från A till Ö.
Kod: naturlig sortering
Den naturliga ordningen för Integer är stigande. sort() ändrar samma List.
public class Main {
public static void main(String[] args) {
java.util.List<Integer> nums = new java.util.ArrayList<>();
nums.add(5); nums.add(1); nums.add(3);
java.util.Collections.sort(nums);
System.out.println(nums); // [1,3,5]
}
}
Anpassad sortering
En Comparator kan skickas till sortering för valfri ordning: omvänd ordning, efter längd eller enligt andra anpassade regler.
Kod: sortering efter längd
Denna Comparator sorterar strängar efter deras längd.
public class Main {
public static void main(String[] args) {
java.util.List<String> words = new java.util.ArrayList<>();
words.add("Java"); words.add("C"); words.add("Python");
java.util.Collections.sort(words, (a,b) -> a.length() - b.length());
System.out.println(words); // [C, Java, Python]
}
}
Kod: binarySearch
binarySearch hittar snabbt positionen för ett element, men listan måste redan vara sorterad på ett konsekvent sätt.
public class Main {
public static void main(String[] args) {
java.util.List<Integer> nums = new java.util.ArrayList<>();
nums.add(1); nums.add(3); nums.add(5); nums.add(7);
int idx = java.util.Collections.binarySearch(nums, 5);
System.out.println("Index of 5 = " + idx);
}
}
Kontroll av binarySearch
Snabb kontroll: Vad måste vara sant innan Collections.binarySearch används?
Sammanfattning
Sammanfattning: Använd sort() för sortering och binarySearch() för snabba sökningar. Anpassade Comparators gör det möjligt att definiera flexibla sorteringsregler.
Lär dig Java med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 104
- Lektioner
- 374
Vanliga frågor
Är lektionen ”Sortering/sökning med Collections” gratis?
Ja – hela texten till ”Sortering/sökning med Collections” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Java Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Java Academy innehåller totalt 3 lektioner.
Vad lär jag mig i ”Sortering/sökning med Collections”?
Använd Collections.sort, Collections.binarySearch och Comparators för anpassad sortering och sökning. Ni övar på Java Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Java Academy?
Du behöver inga förkunskaper. Utbildningen i Java Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 3.
Hur lång tid tar lektionen ”Sortering/sökning med Collections”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Java Academy-lektionen?
Ja. Varje Java Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Maps och frekvensräkning
- Comparable kontra Comparator
- Sortering/sökning med Collections