博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java Collection: List、Set、 Map、 HashMap、 Hashtable、 Vector
阅读量:5352 次
发布时间:2019-06-15

本文共 1805 字,大约阅读时间需要 6 分钟。

List、Set、 Map、 HashMap、 Hashtable、  Vector 
 
 
Collection 接口:在一般开发中为了清楚的表现处理数据的存放往往不直接使用 Collection 接口
  ·  子接口:List
  ·  子接口:Set
List 既然是一个接口,则要使用必须依靠子类  -> ArrayList
  如果要使用 list,则格式为:List l = new ArrayList() ;
 
★List 和 Set 的区别:
1. List - 元素的序列, Set - 没有重复元素的类集
2. Set 的基本使用与 List 一致,但是 HashSet子类存放时是无序的(散列存放)
3. 元素重复和顺序的区别:
· List 中的数据允许重复元素,重复元素保留下来
· Set 中的数据不允许有重复元素,重复元素被替换掉 // 重复元素被覆盖,只留一个   
在 Set 中如果使用 HashSet则属于散列的无序的存放,如果希望有序存放使用 TreeSet子类。靠的是 Comparable 接口排序
----------------------------------
★Map:
保存一对值(Map):
|- HashMap:异步处理,新的类
|- Hashtable:同步处理,旧的类
|- TreeMap:按 KEY进行排序的集合
元素为二元偶对的汇集,不能重复
每次存放一对值:key -> value
Map的主要功能是作为查找使用,而不是作为输出使用。 (Map for search data)
*存数据的方法:
     - put(Object key,Object value)
*取内容(根据 key取):
     -cObject get(Object key)
Map 接口的对象不能直接使用 Iterator输出
如果非要使用 Iterator输出 Map 接口对象的内容,必须使用以下的步骤:
Map —> Set -> Iterator -> Map.Entry -> key、values
----------------------------------
★HashMap类
- HashMap类使用散列表实现Map接口
- HashMap是一种映射类(key->value: 键值对)
----------------------------------
★Hashtable
- 与HashMap相似,但Hashtable是同步的
- 采用映射的方式(key->value: 键值对)
- Hashtable不支持迭代函数
Properties类
- Properties类是Hashtable类的子类(Hashtable <- Properties)
- 用来保持值的列表
------------------
☆属性类 -Properties
(Properties -> String; Hashtable -> Object)
与 hashtable不同的是,Properties 类主要是保存字符串的,而 Hashtable 是保存对象的。
  - setProperty(String key, String value)
  - getProperty(String key)
----------------------------------
★TreeMap类 (按 KEY 进行排序)
- TreeMap类可以对数据进行排序
- 可以快速检索
----------------------------------
★Vector类
|- List:允许有重复元素
  |- ArrayList:异步处理,新的类,只能用 Iterator输出
  |- Vector:同步处理,旧的类,能用 Iterator和 Enumeration 同时输出
List 和 Set 都不能使用 Enumeration 输出
而 List 的另外一个子类:Vector可以使用 Enumeration 输出
Vector类
- Vector实现动态数组
- Vector是同步的
----------------------------------

转载于:https://www.cnblogs.com/bluestorm/archive/2012/09/17/2688254.html

你可能感兴趣的文章
UIScrollView —— 缩放实现案例(二)
查看>>
【Qt】Qt Linguist介绍【转】
查看>>
sim usim Uim 区别
查看>>
网页中插入透明Flash的方法和技巧
查看>>
动态内存申请函数选择(realloc、malloc 、alloca、 calloc)
查看>>
获取元素属性get_attribute
查看>>
视觉设计师的进化
查看>>
Python/jquery
查看>>
WPF之Binding
查看>>
【BZOJ】【2132】圈地计划
查看>>
Lua 语言基本语法
查看>>
ARM 的Thumb状态测试
查看>>
windows下读取utf-8文件
查看>>
apache 启动不了的排查方法
查看>>
Java有没有goto?
查看>>
(转)makefile 的用法
查看>>
求不相邻金币相加和的最大值--动态规划1
查看>>
[转][osg]探索未知种族之osg类生物【目录】
查看>>
四十九. Zabbix报警机制 、 Zabbix进阶操作 、 监控案例
查看>>
元类中__new__ 与 __init__的区别--day27
查看>>