美文网首页
Java--容器介绍

Java--容器介绍

作者: _Raye | 来源:发表于2016-12-20 20:00 被阅读0次

    容器(集合框架):

    • 容器:承载其他对象的对象

    • 父类接口:Collection

    • 子类接口:List、Set

    • 实现List接口的常用类:
      1.ArrayList
      底层实现是一个数组,使用连续内存,可以实现随机存取
      2.LinkedList
      底层实现是一个双向循环链表,可以使用碎片内存,不能随机存取,但是增删元素只需要修改引用即可,所以增删元素时有更好的性能。

    • 容器里放的是对象类型的引用,放不了基本数据类型
      所以想容器中添加基本数据类型时会自动装箱(auto-boxing)
      自动装箱:就是将基本数据类型处理成对应的包装类型

    基本类型 ---> 包装类型
    byte ---> Byte
    short ---> Short
    int ---> Integer
    long ---> Long
    float ---> Float
    double ---> Double
    char ---> Character
    boolean ---> Boolean

    public static void main(String[] args) {
            Object object1 = 100;//自动装箱
            System.out.println(object1.getClass());
            Integer object2 = (Integer) object1;
            int a = object2;//自动拆箱
            int b = (Integer) object1;
            System.out.println(a);
            System.out.println(b);
            
            List<Integer> list = new ArrayList<>();
            for (int i = 0; i < 10; i++) {
                //自动装箱int ---> Integer对象
                list.add((int) (Math.random() * 20));
            }
            for (Integer x : list) {
                //自动拆箱(auto-unboxing)Integer对象--->int
                if (x > 10) {
                    System.out.println(x);
                }
            }
        }
    
    • 泛型参数:
      从Java 5开始容器可以指定泛型参数来限定容器中对象引用的类型
      从Java 7开始,构造器后面的泛型参数可以省略 - 钻石语法
      List<String> list = new ArrayList<>();

    • 容器的遍历:
      1.for-each

    list.forEach(System.out::println);
    

    forEach方法的参数可以是方法引用也可以是Lambda表达式

    list.forEach(e -> {
                System.out.println(e.toUpperCase());
            });
    

    2.for循环

    for (int i = 0; i < list.size(); i++) {
                System.out.println(list.get(i));
            }
    

    3.迭代器(Iterator)

    Iterator<String> iterator = list.iterator();
            while(iterator.hasNext()){
                System.out.println(iterator.next());
            }
    
    • 容器中的一些方法
      1.添加
      list.add("apple");
      2.根据指定参考系删除所有
      list.removeAll(temp);
      3.根据指定的参考系保留所有
      list.retainAll(temp);
      4.清空
      list.clear();

    相关文章

      网友评论

          本文标题:Java--容器介绍

          本文链接:https://www.haomeiwen.com/subject/eddfvttx.html