This website requires JavaScript.

Java8实战:查找列表中包含的字符串

通常我们可以通过.contains(), .startsWith() or .matches()ArrayList中查找字符串。 老版本以及 Java8 版本实例代码如下:

老版本

package com.mkyong.test;

import java.util.ArrayList;
import java.util.List;

public class JavaExample1 {

    public static void main(String[] args) {

        List<String> list = new ArrayList<>();
        list.add("Java");
        list.add("Kotlin");
        list.add("Clojure");
        list.add("Groovy");
        list.add("Scala");

        List<String> result = new ArrayList<>();
        for (String s : list) {
            if (s.contains("Java")) {
                result.add(s);
            }

            /*
            if (s.startsWith("J")) {
                result.add(s);
            }
            */

            /* regex
            if (s.matches("(?i)j.*")) {
                result.add(s);
            }
            */
        }

        System.out.println(result);

    }

}

Java8版本,更加方便

package com.mkyong.test;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class JavaExample2 {

    public static void main(String[] args) {

        List<String> list = new ArrayList<>();
        list.add("Java");
        list.add("Kotlin");
        list.add("Clojure");
        list.add("Groovy");
        list.add("Scala");

        List<String> result = list
                .stream()
                .filter(x -> x.contains("Java"))
                .collect(Collectors.toList());

        System.out.println(result);

    }

}
0条评论
avatar