zoukankan      html  css  js  c++  java
  • Collection

    集合(collection):
    使用存储实例的变长的容
     容器名    存储的元素类型     长度
      数组       基本和引用            定长
      集合        引用                      变长
     
    集合的框架结构:
    分为List 和 Set 子接口
    List的实现类:ArrayList 和 LinkedList 和Vector
    Srt的实现类: HashSet 和 TreeSet 
    和 LinkedHashSet
     
     
    Map:
    实现类: HashMap 和 LinkedHashMap
    和 TreeMap
     
     
    Collection接口:
    Collection c=new ArrayList();
    c.add();
     
    List接口的存储特点:
    元素添加的顺序是底层存储的顺序
    不排重复
    方法:
    get(int index):根据下标返回对应值
    add(int index,E e):在指定位置插入元素,后续元素会自动后移
    set(int index,E e):替换指定的元素
     
     
    ArrayList实现类的特点:
    1.底层存储的元素使用的数据结构是数组;
    2.优点:元素查询速度快
    3.缺点:添加,修改,删除元素效率低
    List e=new ArrayList();
    e.add();
     
    LiskedList实现类的特点:
    1.底层元素使用数据结构是双向链表
    2.优点:添加,修改.删除元素效率高
    3.缺点:元素查询慢
     
    Collections:
    是一个工具类,用于操作List集合
    与Arrays类似
    Collection:是一个接口,是List,Set的父类
     
     
     
    Set接口:
    不能重复
     
     
    HashSet实现类:底层存储的元素使用的数据结构是Hash表;
    无序的(元素添加顺序与底层存储顺序不同)
    Set elements =new HashSet();
    elements.add("张三");
     
    LinkedHashSet实现类:
    底层存储的元素使用的数据结构是双向链表;
    有序的(元素添加顺序与底层存储顺序相同)
    排重
    没有重新HashCode和equlas,会打印2个对象,重新后不能重复实例,只要new,就会在全新空间开辟存储空间存储实例
     
     
    TreeSet实现类:
    底层存储的元素使用的数据结构是二叉树;
    有序的(根据升序排序(字典的顺序)),
    排重
    必须具备可比性
     比较规则:实现Comprable接口,重写compreTo方法,返回0,与实例比较
     
    Map集合:
    元素以键值对存在(Key-value)
    都是引用类型
    无序的,底层存储的数据结构是hash表
    根据键排除重复的,与值无关
     
    HashMap实现类:
    LinkedhashMap实现类:
    TreeMap实现类:
    weakHashMap实现类:
     
    Map m=new HashMap();
    m.put(1); //添加
    m.clear(); //清除
    boolean b=m.containsKey(1); //判断是否存在元素,返回true
    boolean b=m.containsValue(Object value); //判断是否存在元素
     
    Set< Map.Entry<K,V> >:将map集合所有的元素存放在set集合中
     
    集合的遍历:
    方法一:转为数组:toArray()
    方法二:迭代器Iterator
    每个Collection的实现类对象,都要实现iterator(),该方法表示获取该容器上的迭代器对象,相当于在容器上放游标,通过判断是否有下一个元素,获取。
    hasNext()-->boolean,
    next()-->E,
    方法三:增强for循环
    方法四:List特有:普通for循环:get(index)-->E
     
    1、 在类集中存放单值的最大父接口是 Collection ,存放一对值的最大父接口是 Map 
    2、Set 接口保存的数据是不允许重复的,并且 TreeSet 子类是可以排序的,根据 Comparable接口 
    3、 Java类集可以使用的输出方式是: Iterator 、 ListIterator 、 Enumeration 、 foreach  
    4、 在Java中实现栈操作的类是Stack  
    3、 Set集合中的内容是不允许重复的,Java依靠什么来判断重复对象?
    答: Java依靠Object类中的hashCode()和equals()方法来判断重复对象。
    4、 TreeSet类是允许排序的,Java依靠什么进行对象的排序操作?
    答: 在TreeSet类中依靠Comparable接口来进行排序。
    5、 简述Collection和Collections的区别。
    答: Collection是一个接口,用于定义集合操作的标准、Collections是一个工具类,可以操作任意的集合对象。

     

  • 相关阅读:
    python 生成器与装饰器一篇就够了!!!
    Win10安装node.js,npm,淘宝镜像,cnpm失败的解决方法
    Xshell/CentOs7关闭防火墙命令
    Mybaits_逆向工程生成代码
    WebStrom 使用淘宝镜像
    Redis相关命令
    linux中添加service
    简单直接的 Linux查找进程和杀死进程的方法
    发布Spring boot.jar 项目到服务器之后台启动
    CentOS下mysql常用命令
  • 原文地址:https://www.cnblogs.com/yiweiaimeng/p/4962736.html
Copyright © 2011-2022 走看看