Java学习Day10

2019-09-26  本文已影响0人  JayMeWangGL

今日学习内容总结


List集合

List接口特点:

  1. 它是一个元素存取有序的集合。例如,存元素的顺序是11、22、33。那么集合中,元素的存储就是按照11、22、33的顺序完成的)。
  2. 它是一个带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。
  3. 集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素。

List接口中常用方法:


LinkedList集合

LinkedList不能使用多态
特点:

常用方法:


Set接口

使用Set需要在自定义的类中添加equals和hashCode方法

特点:

HashSet集合

特点:

哈希表

特点:哈希表存储采用数组+链表+红黑树实现,查询速度快

LinkedHashSet集合

特点:底层是一个哈希表,多了一个链表(记录元素的存储顺序),保证元素有序,不允许重复


可变参数

    public static void main(String[] args) {
        System.out.println(add(3,5,8));
    }

    public static int add(int...a){
        int sum=0;
        for (int i : a) {
            sum+=i;
        }
        return sum;
    }

可变参数的终极写法:修饰符 返回值类型 方法名(Object...obj){ }


Collections

常用方法:

        ArrayList<String> arrayList=new ArrayList<>();
        Collections.addAll(arrayList,"d","y","z");
        Collections.shuffle(arrayList);
        Collections.sort(arrayList);

注意:如果要排序自定义类元素,被排序的集合里存储的元素,必须实现Comparable,重写接口中的compareTo方法的排序规则(this - 参数为升序排序)

        Collections.sort(people, new Comparator<Person>() {
           @Override
           public int compare(Person o1, Person o2) {
               return o1.getAge()-o2.getAge();
           }
        });

Comparator和Comparable的区别:
    1、Comparable:this和参数比较,自己需要实现Comparable接口,重写compareTo方法
    2、Comparator:相当于找一个第三方的裁判进行比较

上一篇 下一篇

猜你喜欢

热点阅读