List、Collections

List、Set介绍

  • java.util.ArrayList 集合数据存储的结构是数组结构。元素增删慢,查找快
  • java.util.LinkedList 集合数据存储的结构是链表结构。方便元素添加、删除的集合
  • java.util.LinkedHashSet ,它是链表和哈希表组合的一个数据存储结构。有序的
  • java.util.HashSet 是 Set 接口的一个实现类,它所存储的元素是不可重复的,并且元素都是无序的(即存取顺序 不一致)。 java.util.HashSet 底层的实现其实是一个 java.util.HashMap 支持

Collentions工具类

方法:

  • public static <T> boolean addAll(Collection<T> c, T... elements) :往集合中添加一些元素。
  • public static void shuffle(List<?> list) 打乱顺序 :打乱集合顺序。
  • public static <T> void sort(List<T> list) :将集合中元素按照默认规则排序。
  • public static <T> void sort(List<T> list,Comparator<? super T> ) :将集合中元素按照指定规则排序。

addAll案例:

private static void addAll() {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        System.out.println("list1"+list);
        Collections.addAll(list, 4, 5, 6);
        System.out.println("list2"+list);
    }
//list1[1, 2, 3]
//list2[1, 2, 3, 4, 5, 6]

排序功能:

   /**
     * 取字符串第一个字符按降序排列
     */
    private static void collecyionsSort() {
        ArrayList<String> list = new ArrayList<>();
        Collections.addAll(list, "哈哈", "哭哭", "嘻嘻");
        Collections.sort(list, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                return o2.charAt(0)-o1.charAt(0);
            }
        });
        System.out.println("list = " + list);
    }
// list = [嘻嘻, 哭哭, 哈哈]

猜你喜欢

转载自www.cnblogs.com/chenglei0718/p/11441718.html