List集合

51 阅读1分钟

改进的LIst接口和ListIlterator接口

image.png

ArrayList sort()

sort()方法根据指定的顺序对动态数组中的元素进行排序。

sort()的语法是

arraylist.sort(Comparator c)

public class ArrayListText {
    public static void main(String[] args) {
        ArrayList <String> books=new ArrayList<>();
        books.add("西游记");
        books.add("水浒传");
        books.add("三国演艺");
        books.add("红楼梦");
        System.out.println("排序前"+books);
//        books.sort(Comparator.reverseOrder());//升序
//        books.sort(Comparator.naturalOrder());//降序
        books.sort((Comparator.comparingInt(o -> ((String) o).length())));//升序
        System.out.println("排序后"+books);


    }
}

ArrayList的sort可以使用lambda表达式,其中sort就是lambda表达式Comparator.comparingInt(o -> ((String) o).length())

ListIterator的用法

ListIterator相比于Iterator增加了向前迭代的功能

public static void main(String[] args) {
    String[]books={"红楼梦","西游记","三国演义"};
    var bookList = new ArrayList<>(List.of(books));
    var lit=bookList.listIterator();
    while(lit.hasNext())
    {
        System.out.println(lit.next());
        lit.add("-------------");
    }
    System.out.println("下面开始反向迭代");
    while (lit.hasPrevious())
    {
        System.out.println(lit.previous());
    }



}