java编写程序:去重后字符串按升序排序输出

java编写程序:去重后字符串按升序排序输出

import java.util.HashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.PriorityQueue;

public class Test {

    /**
     * 去重后按字符串升序排序并输出
     */
    public void deDupAndPrint(List<String> list) {
        PriorityQueue<String> queue = new PriorityQueue<>(new HashSet<>(list));
        for (String str : queue) {
            System.out.println(str);
        }
    }

    public static void main(String[] args) {
        Test test = new Test();
        List<String> list = new LinkedList<>();
        list.add("eee");
        list.add("cccc");
        list.add("aaa");
        list.add("bbb");
        list.add("aaa");
        list.add("bbb");
        list.add("ddddd");
        test.deDupAndPrint(list);
    }
}

测试输出示例:

img

lambda 一行代码就搞定了,示例代码如下:

        List<String> list = new ArrayList<>();
        list = list.stream().distinct().sorted().collect(Collectors.toList());