Java笔记12——集合

Collection

存储形式:value

1.List
(1)ArrayList

1)所属包:java.util 底层利用动态数组实现 1.5倍扩容 默认大小10
2)特点:适合遍历查询 不适合插入删除
3)对象的创建:
  无参构造
  带默认空间的构造—默认为10
  带Collection参数的构造方法
4)常用方法—CRUD
  add(E e) remove(int index) set(index,value) get(int index) size() trimToSize()–去掉空余的容量

(2)Vector

1)所属包:java.util
2)ArrayList集合的早期版本
  底层利用动态数组实现
  线程同步,安全性高 效率低
  默认两倍扩容 可以通过构造函数修改这一机制
3)对象的创建:
  无参构造
  带默认空间的构造—默认为10
  带Collection参数的构造方法
4)常用方法—CRUD
  add(E e) remove(int index) set(index,value) get(int index) size()

(3)Stack

1)java.util包
2)构造方法只有无参构造
3)方法
  push(E e)将某元素压入栈顶
  E = pop()取出栈顶元素并删除
  E = peek()查看栈顶元素
  boolean = empty()判断栈内元素是否为空
  int search()查看在栈中的位置

(4)LinkedList

1)所属包:java.util 底层使用双向链表实现
2)特点:适合插入删除 不适合遍历查询
3)对象的创建:
  无参构造
  带Collection参数的构造方法
4)常用方法—CRUD

2.Queue接口

1)java.util包 通常使用子类LinkedList ArrayDeque
2)构造方法只有无参构造
3)方法
  boolean = offer(E e)入队
  E = poll()出队
  E = peek()查看元素

3.Set
(1)HashSet

1)java.util包 HashMap 散列表实现
2)构造方法无参构造 有参
3)方法
  add(value) remove() iterater() size() 没有修改方法
4)无重复原则
  利用equals方法和hashCode()进行比较

(2)TreeSet

1)java.util包 TreeMap 二叉树实现
2)构造方法无参构造 有参
3)方法
  add(value) remove() iterater() size() 没有修改方法
4)无重复原则
  底层顺序遵循compareTo()规则
  不能随意存储 需要实现Comparable接口 重写compareTo()

Map

存储形式:key-value

1.HashMap

1)java.util包 底层散列表实现
2)构造方法无参构造 有参
3)方法
   put(key,value) remove() iterater() size() 没有修改方法
   key存储的顺序与取出顺序不同
   不同的key可以存储相同的value
   如果key相同,覆盖value
   remove(key)
   replace(key,value) replace(key,oldValue,newValue)
   get(key)
遍历:
   map.keySet() 获取全部的key
   通过Iterator遍历keys,通过get(key)遍历value
   contiansKey(key) contiansValue(value)

2.TreeMap

1)java.util包 红黑二叉树实现 按照Unicode编码自然有序 key需要实现Comparator接口
2)构造方法无参构造 有参
3)方法
  put(key,value) remove() iterater() size() 没有修改方法

下篇内容

错误与异常

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值