Dies ist eine einfache Möglichkeit, die maximale Länge der in ArrayList \
Hinweis) Stream ist in Java 8 oder höher verfügbar.
maxString () ist die Methode zum Abrufen der maximalen Zeichenfolgenlänge.
StringList.java
package samples.stream.main;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class StringList {
private List<String> _strList = new ArrayList<String>();
public void add(String str) {
_strList.add(str);
}
public String maxString() {
return _strList.stream().max(Comparator.comparing(String::length)).get();
}
}
Gibt das maximale Element des angegebenen Komparators zurück (Vergleichsfunktion, die die globale Reihenfolge ausführt). Dies gibt den vom Komparator verglichenen Maximalwert zurück.
Geben Sie die Länge des String-Typs als Vergleichsschlüssel an. Dies wird nach Zeichenfolgenlänge verglichen.
Gibt einen Wert zurück.
Daher kann String-Typlänge verglichen und der Maximalwert zurückgegeben werden </ strong> </ font>.
Dies ist der verifizierte Testcode. Von nun an, anstatt mit public static void main (String ... strings) zu veranschaulichen Ich möchte einen Testcode als Beispiel verwenden, um TDD zu lernen.
StreamMaxTest.java
package samples.stream.test;
import static org.hamcrest.CoreMatchers.*;
import static org.junit.Assert.*;
import org.junit.jupiter.api.Test;
import samples.stream.main.StringList;
class StreamMaxTest {
@Test
void ArrayList_String_Maximale Länge der Zeichenfolge() {
StringList stringList = new StringList();
stringList = new StringList();
stringList.add("");
stringList.add("12345");
stringList.add("1234567890");
String str = stringList.maxString();
assertThat("1234567890", is(str));
}
}