Perls grep-ish Typ in Java

Ein Prozess, der nur diejenigen aus einem Array oder einer Liste extrahiert, die die Bedingungen erfüllen. Mit Perl können Sie einfach wie folgt schreiben (denken Sie daran)

sample.pl


my @array = ('001', '901', '201', '010', '999', '311');
my @result = grep { /1$/ } @array;

Nach der Untersuchung, ob mit Java dasselbe möglich ist, scheint ListUtils # select () etwas Ähnliches zu tun.

Sample.java


List<String> list = Arrays.asList("001", "901", "201", "010", "999", "311");
List<String> result = ListUtils.select(list, new Predicate<String>() {

   @Override
   public boolean evaluate(String arg0) {
      //Am Ende'1'Wann ist beigefügt
      return StringUtils.endsWith(arg0, "1");
   }
});
		
System.out.println(result.toString()); //=> [001, 901, 201, 311]

Ich habe versucht, Predicate zu einem anonymen inneren Typ zu machen, aber was ist besser, um Predicate in meiner Klasse zu implementieren? Letzteres fühlt sich eher wie "altes Schreiben" an. Dieses Mal habe ich eine Beispielquelle mit einer Liste von Zeichenfolgen geschrieben, aber ich denke, dass dies effektiver ist, wenn Sie aus einer Liste von Beans extrahieren möchten.

Ist es so, wenn es ohne ListUtils # select () geschrieben wird? Ich fühlte mich vertraut. Das übliche Muster, dass die Verschachtelung von if-Anweisungen immer tiefer wird, wenn die Bedingungen komplizierter werden.

Sample2.java


List<String> list = Arrays.asList("001", "901", "201", "010", "999", "311");
List<String> result = new ArrayList<String>();
for (String s : list) {
    if (s.endsWith("1")) {
        result.add(s);
    }
}

System.out.println(result.toString()); //=> [001, 901, 201, 311]

Recommended Posts

Perls grep-ish Typ in Java
NVL-artiger Typ in Java
Änderungen in Java 11
Janken in Java
Umfangsrate in Java
FizzBuzz in Java
Lesen Sie JSON in Java
Machen Sie einen Blackjack mit Java
Einschränkungsprogrammierung in Java
Setzen Sie Java8 in Centos7
Verbinden Sie Arrays in Java
"Hallo Welt" in Java
Aufrufbare Schnittstelle in Java
Kommentare in der Java-Quelle
Azure funktioniert in Java
Formatieren Sie XML in Java
Einfache HTML-Spezialchars in Java
Hallo Welt in Java
Verwenden Sie OpenCV mit Java
WebApi-Memorandum mit Java
Typbestimmung in Java
Befehle in Java ausführen (Ping)
Verschiedene Threads in Java
Implementierung der Heap-Sortierung (in Java)
Zabbix API in Java
ASCII-Kunst in Java
Listen in Java vergleichen
POST JSON in Java
Fehler in Java ausdrücken
Erstellen Sie JSON in Java
Datumsmanipulation in Java 8
Was ist neu in Java 8?
Verwenden Sie PreparedStatement in Java
Was ist neu in Java 9,10,11
Parallele Ausführung in Java
Versuchen Sie es mit RocksDB mit Java
Vermeiden Sie den Fehler, den Yuma in Java gemacht hat
Holen Sie sich EXIF-Informationen in Java
Bearbeiten von ini in Java: ini4j
Java-Geschichte in dieser Welt
Versuchen Sie, JavaScript in Java aufzurufen
Probieren Sie den Funktionstyp in Java aus! ①
Ich habe ein Roulette in Java gemacht.
Implementierung der zweistufigen Authentifizierung in Java
Refactoring: Machen Sie Blackjack in Java
Themenanalyse (LDA) in Java
NEologd-Vorverarbeitung in Java neologdn-java
Ändern Sie die Java-Codierung in Windows
Java Stream API in 5 Minuten
Problem beim Finden von javax.annotation.Generated in Java 11 nicht
Lesen Sie die Standardeingabe in Java
Implementieren Sie die Standardauthentifizierung in Java
Suchen Sie eine Teilmenge in Java
Nullsicheres Programm in Java (Eclipse)
[Java] KClass in Java herunterladen [Kotlin]
Erstellen Sie Azure-Funktionen in Java
Importieren Sie Excel-Daten mit Java