Java集合框架

  • 操作collection的静态方法在工具类collections中
  • Collection(I)
    • List(有重复值)
      • ArrayList(非同)
        • 性质
          • 动态数组
          • 初始容量10,容量检查快溢出时扩容(若明确插入元素数量,最好指定初始容量值,避免扩容操作浪费时间效率)
          • 随机访问
      • LinkedList
        • 双向链表
        • 无法随机访问,必须按双重链表执行
        • 优点:增删
      • vector(同步)
        • 操作同arraylist
        • stack
          • 方法
            • push
            • pop
            • peek
            • empty
            • search
    • Set(无重)
      • 性质
        • 无序(输入顺序不一定等于输出顺序?)。但元素在set中位置由其hashcode决定,故具体位置确定
        • 判断重复的标准
          • hashcode
          • equals方法
      • HashSet(非同)
        • 由hashmap实现(key存元素,value统一存一个Object对象)
        • LinkedHashSet(非同)
          • 由linkedhashmap实现
          • LinkedHashSet在迭代访问Set中的全部元素时,性能比HashSet好,但是插入时性能稍微逊色于HashSet(由于entry不同,多了修改指针)。
      • TreeSet(非同)
        • 由Treemap实现
        • 实现了sortedset接口
  • Map(I)键值对
    • abstractmap
      • HashMap(非同)
        • LinkedHashMap(非同 保留插入顺序,不保证映射顺序)
        • 遍历方式:iterator
      • TreeMap(非同)
        • 性质
          • 自然排序:其中所有key必须实现comparable接口,且为同一类的对象
          • 定制排序:创建comparator对象,对象编辑排序,无需all key实现comparable接口
          • 使用自定义类作为key,应重写equals方法
          • key相同判断标准:equals返回true,compare to返回0
          • 不允许key为null
    • hashtable(同步)
      • 键值对任意一方都不可为null
      • 继承自dictionary类
      • 遍历方式:iterator Enumeration
  • Iterator(I)
    • 性质
      • 单项移动
      • remove只能跟在next方法后面调用一次
      • 操作
        • hasNext
        • next
        • remove
    • ListIterator(I)
      • 只用于list类型访问
      • 创建方法
        • listiterator()指向开始
        • listiterator(n)指向索引为n
      • 方法
        • add((第一句好像是叫隐形光标)隐形光标插在被插入数据之后,被插入的数据可用previous访问)
        • hasnext hasprevious
        • next previous
        • set

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值