Ich habe eine Sterling-Sorte geschrieben, die sich wie in Java anfühlt

Ich habe eine Sterling-Sorte geschrieben, die sich wie in Java anfühlt

Die kürzlich beliebte [Sterling Sort](https://qiita.com/tags/Sterling Sort), Die veröffentlichte Java-Implementierung verwendet eine for-Schleife, die keine Erweiterung ist. Ich dachte, es sei eine prähistorische Sache, weil ich den Komparator nicht übergeben konnte, also fing ich an, ihn selbst zu schreiben. Ich hatte eine schlechte Fahrt auf dem Weg und dachte darüber nach, nicht nur für, sondern auch für zu binden, aber es stellte sich als seltsamer Code heraus.

Derzeit dient es auch als Gedenkgottesdienst

Was wurde gemacht

	public static <T extends Comparable<? super T>> List<T> stalinSort(List<T> origin) {
		return stalinSort(origin, Comparator.naturalOrder());
	}

	public static <T> List<T> stalinSort(List<T> origin, Comparator<? super T> comparator) {
		return origin.stream().reduce(new LinkedList<T>(),
				(prev, current) -> Comparator.nullsFirst(comparator).compare(prev.peekLast(), current) <= 0
						&& prev.add(current) ? prev : prev,
				(a, b) -> {
					throw new UnsupportedOperationException();
				});
	}


Vielleicht funktioniert es.

Recommended Posts

Ich habe eine Sterling-Sorte geschrieben, die sich wie in Java anfühlt
Ich habe ein Programm zur Beurteilung von Primzahlen in Java geschrieben
Ich habe ein Primfaktorisierungsprogramm in Java geschrieben
Ich habe einen C-Parser (wie) mit PEG in Ruby geschrieben
Ich habe ein PDF mit Java erstellt.
Ich habe Gordobachs Theorem in Java geschrieben
Implementieren Sie so etwas wie einen Stack in Java
Ich habe eine Lambda-Funktion in Java geschrieben und mit SAM bereitgestellt
Ich habe ein Programm zur Beurteilung von Primzahlen in Java erstellt
Ich wollte (a == 1 && a == 2 && a == 3) in Java wahr machen
Ich habe ein Janken-Spiel in Java (CLI) gemacht.
Eine Bat-Datei, die Java in Windows verwendet
Ich habe ein einfaches Berechnungsproblemspiel in Java gemacht
Ich möchte so etwas wie "cls" in Java machen
Ich habe einen Testcode (Junit & mockit) für den Code geschrieben, der die AWS-API (Java) aufruft.
Schreiben einer Klasse, die in Java bestellt werden kann Ein kleines Standard-Memo
Ich habe leicht verständlich über Java Downcast geschrieben
Ich habe versucht, eine Anmeldefunktion mit Java zu erstellen
Ich habe eine Bibliothek erstellt, die in Safari wie ein Tab funktioniert !!
Ich habe versucht, Sterling Sort mit Java Collector zu implementieren
Was ich beim Erstellen eines Servers in Java gelernt habe
Ich habe einen Wrapper erstellt, der KNP von Java aus aufruft
Eine Bibliothek, die mehrzeilige Zeichenfolgen in mehrzeiligen Java-Zeichenfolgen realisiert
Erstellt das JAVA-Framework "numatrix", das auf einfache Weise eindeutige numerische Werte in einer verteilten Umgebung und mit mehreren Threads generiert
Ich habe versucht, ein Programm in Java zu erstellen, das das Problem des Handlungsreisenden mit einem genetischen Algorithmus löst
Ich schreibe einen Prozess, der sich in einer Listenschleife in Java (bei der Arbeit) ständig vergrößert (Liste). "
[Anfänger] Ich habe ein Programm zum Verkauf von Kuchen in Java erstellt
Ich wollte nur eine reaktive Eigenschaft in Java erstellen
Selbst in Java möchte ich true mit == 1 && a == 2 && a == 3 ausgeben
Ich habe versucht, in Java von einer Zeichenfolge in einen LocalDate-Typ zu konvertieren
[MQTT / Java] Implementierte eine Klasse, die Pub / Sub von MQTT in Java ausführt
Ich habe einen RESAS-API-Client in Java erstellt
[Neta] Sleep Sort in Java
Ich habe ein Roulette in Java gemacht.
Suchen Sie eine Teilmenge in Java
Ich habe versucht, Metaprogrammierung mit Java
Ich habe eine Selenium-Beispiel-App erstellt, die mehrere Browser (Chrome, IE, Firefox) unterstützt, die unter Java ausgeführt werden.
Sortieren Sie die Liste in absteigender Reihenfolge in Java und generieren Sie zerstörungsfrei eine neue Liste
Erstellen Sie eine benannte SkipList in Java, die wie eine nach Redis sortierte Menge aussieht
Ich kann in IntelliJ keine Java-Klasse mit einem bestimmten Namen erstellen
Ich habe versucht, Code wie eine Typdeklaration in Ruby zu schreiben
So implementieren Sie einen Job, der die Java-API in JobScheduler verwendet
[Anmerkung] Was ich in einem halben Jahr von unerfahrenen (Java) gelernt habe
[Anmerkung] Was ich in einem halben Jahr von unerfahrenen (Java) gelernt habe (1)
Ich habe ein Routensuchprogramm in TDD geschrieben und versucht, es umzugestalten
[Anmerkung] Was ich in einem halben Jahr von unerfahrenen (Java) gelernt habe (3)
Eine Geschichte, die ich als Nicht-Ingenieur endlich verstanden habe
Ich habe eine E-Mail in Java gesendet
Java-Versionsnotation, die sich in Java 10 ändert
3 Implementieren Sie einen einfachen Interpreter in Java
Ich habe eine shopify App @java erstellt
Liste der Java-Objekte sortieren
Ein einfaches Beispiel für Rückrufe in Java
Ich habe eine Anmerkung in Java gemacht.
Ich habe versucht, JWT in Java zu verwenden
Bleiben Sie in einem Java Primer stecken
Implementierung einer ähnlichen Funktion in Java
So testen Sie eine private Methode und verspotten sie teilweise in Java