list set 的区别与联系

----------------        http://edu.csdn.net/heima android培训        黑马培训       http://edu.csdn.net/heima     java培训      期待与您交流! ---

List、Set集合都属于Collection: 单列集合, 一次存储一个对象.

Map一次储存一对

Map: 键值对, 可以通过键对象查找值.
  HashMap: 去重复, 效率高
 TreeMap: 排序
  LinkedHashMap: 保留存储顺序
  Hashtable: 和HashMap原理相同, 线程安全, 效率低 . Hashtable中的键和值都不能为null
  Properties: 通常用来操作配置文件, Hashtable的子类.

List: 可重复, 可以根据索引操作.
   * ArrayList: 数组结构, 查找快
   * LinkedList: 链表结构, 增删快
   Vector: 数组结构, 线程安全, 效率低

Set: 不可重复, 不能根据索引操作.
   * HashSet: 使用哈希算法对元素去重复, 效率高
   * TreeSet: 在指定排序算法之后, 以二叉树形式进行存储, 对元素进行排序
   LinkedHashSet: HashSet的子类, 原理相同, 但是添加了保留存储顺序的功能

二.集合的迭代
 * 1.Collection:
  迭代器: 使用iterator()得到Iterator对象, 调用hasNext()和next()方法进行迭代.
  增强for循环: JDK5之后, 能用迭代器迭代的类都可以使用增强for循环, 语法为: for (元素类型  变量名 : 容器) { 循环体 }
 2.List
  除了Collection的2种通用迭代方法, 还可以使用普通for循环, 从0循环到size()-1位置, 每次调用get(int)方法获取一个元素
 3.Vector
  除了以上3种方式, 还可以使用Enumeration, 通过elements()方法获得对象, 调用hasMoreElements()方法和nextElement()方法进行迭代.
 * 4.Map
  keySet: 调用keySet()方法获取一个由所有键对象组成的Set集合, 迭代Set集合获取每一个键对象, 再使用键对象获取值对象.
  entrySet: 调用entrySet()方法获取一个由所有Entry对象组成的Set集合, 迭代Set集合获取每一个Entry对象, 再通过Entry对象获取键和值。

----------------        http://edu.csdn.net/heima android培训        黑马培训       http://edu.csdn.net/heima     java培训      期待与您交流! ---
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值