zoukankan      html  css  js  c++  java
  • java复习 --集合类

    List接口:可以存放重复内容;
    set接口:不能存放重复内容,重复内容依靠hashcode和equal两个方法来区分;
    Queue:队列;
    SortedSet接口:对集合中的数据进行排序;
     

    List接口:

    List子类:ArrayList,Vector
    ArrayList和Vector的区别:

    LinkedList类和queue接口

    LinedList 链表的操作类
    Queue接口是Collection的子接口
     

    Set接口:

    Set接口是collection接口的子接口,但是和Collection或者List接口不同的是:set不能加入重复元素。
    set的主要方法同Collection一致
    Set接口的实例无法像List接口那样进行双向输出
    Set子类:
    散列存放:HashSet
    有序存放:TreeSet
    Set是无序的,List是按照存放顺序进行排序的。
    对象排序必须实现Commparable接口,在commpareTo方法里面对对象数据进行排序
     

    集合类的操作:

    Iteartor
    ListIterator
    foreach输出
    Enumeration输出
    注意:在使用集合输出的时候必须形成如下思路,只要是碰到集合数据的操作,就一定使用Iterator接口
    Iterator接口的操作原理:
    Interator是专门的迭代输出接口,所谓的迭代输出就是将元素一个个进行判断,判断是否有内容,如果有取出来。
    迭代器标准写法:
    迭代删除元素:
    注意点:
    List接口存在删除方法:remove
    如果在使用输出的过程中使用list的remove执行删除,会出现问题。
    在使用Iterator输出的时候,不要使用集合类里面的remove方法,只能使用迭代器里面的remove方法。
     

    ListIterator

    Iterator的子接口;Iterator主要是实现从前到后的单项输出,如果实现从后到前或者从前到后的双向输出,就要使用子接口ListIterator
    注意:只有List接口才存在ListIterator接口的实例化操作。
    先进行向前才能进行向后操作。
     

    Map接口:

    Collection和Map的区别:
    Collection的操作是一个对象,map是一对对象,key-->value形式进行存储
     
    Map的子类:
    HashMap:无序存放,新的操作类,key不能重复
    HashTable,无序存储,旧的操作类,key不允许重复
    TreeMap:可以排序的map集合,按照集合中的key进行排序,key不允许重复。
    WeakHashMap:弱引用Map集合,当集合中否写内容不再使用时候,可以清除掉无用的数据,并使用gc回收。
    IdentityHashMap,key可以重复的Map集合。
     
    HashMap和HashTable的区别:
     
    Map接口输出:
    顺序如下:
    使用foresh输出:

    IdentityHashMap类:

    如果希望key可以重复可以使用IdentityHashMap
    SortedMap
    SortedSet是TreeSet的实现接口
    SortedMap是TreeMap的实现,是可以排序的map
     

    Collections,集合类帮助类

    提供集合类相关的帮助方法:
    emptyList()
    emptySet()
    addAll()
    replayAll()
     

    Stack,栈

    栈是先进后出的数据结构进行存储的,新的元素压在旧的元素上面;
     
    Stack是Vector的子类
    push入栈
    pop出栈
  • 相关阅读:
    你好,这里有一份2019年目标检测指南
    谷歌2019 学术指标发榜:CVPR首次进入Top 10,何恺明论文引用最高!
    魔图互联:知识图谱推荐系统-给人们带来更个性化的推荐
    NLPer入门指南 | 完美第一步
    一文总结数据科学家常用的Python库(下)
    一文总结数据科学家常用的Python库(上)
    一文看懂NLP神经网络发展历史中最重要的8个里程碑!
    如何为计算机视觉任务选择正确的标注类型
    C. Queen Codeforces Round #549 (Div. 2) dfs
    D. Equalize Them All Codeforces Round #550 (Div. 3)
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/4784017.html
Copyright © 2011-2022 走看看