SET/LIST/MAP

java.util.Set接口及其子类,set提供的是一个无序的集合;
java.util.List接口及其子类,List提供的是一个有序的集合;
java.util.Map接口及其子类,Map提供了一个映射(对应)关系的集合数据结构;
Set是最简单的一种集合,它的对象不按特定方式排序,只是简单的把对象加入集合中,就像往口袋里放东西。对集中成员的访问和操作是通过集中对象的引用进行的,所以集中不能有重复对象;而LIst的主要特征是其对象以线性方式存储,没有特定顺序,只有一个开头和一个结尾,当然,它与根本没有顺序的集是不同的。
列表在数据结构中分别表现为:数组和向量、链表、堆栈、队列。关于实现列表的集合类,是我们日常工作中经常用到的;从类图中可以看到,Set 和List都是继承了Collection接口的子接口,而这类集合都有自己的实现;

[table]
|Boolean add(E o) :|向集合中加入一个对象,如果集中己有这个对象,则返回false;
|Boolean addAll(Collection<? extends E> c)|将另外一个集合中的所有对象加入这个集合
|void clear()|清除集合中的所有对象,执行过后,集合中不在装有对象
|boolean contains(Object o)|判断集合是是否存在某个对象
|boolean containsAll(Collection<?> c)|判断集合中是否全部存在另外一个集合中的对象
|boolean equals(Object o) |
|int hashCode()|可重写的来自父类的方法
|boolean isEmpty()|判断集合是否为空,在执行clear()后调用这个方法,返回true
|Iterator<E> iterator()|得到这个集合的一个迭代对象
|boolean remove(Object o)|从集合中移除掉一个对象
|int size() |返回集合内元素的个数
|Object[] toArray()|将集合转变一个数组对象|
[/table] ①Set是一个接口定义,所以我们只能使用它的实现子类,Set接口常用的子类有java.util.HashSet、java.util. TreeSet;
//遍历:
while(it.hasNext()){
A a=it.next();
a.showInfo();
}
//A代表一个类,a是一个对象,showInfo()是一个自己写的输出函数
②List了类除了实现Collection中的方法外,还有如下几个特有的方法:
[table]
|boolean addAll(int index, Collection<? extends E> c)|向一个List列表中插入一个对象 ,index必须小与getSize()返回的值。
| E get(int index)|取得list列表中指定位置的一个对象,如果index值大与getSize()返回的值,调用将抛出异常。|
[/table]
//遍历:
for(int i=0;i<list.size();i++){
A a=list.get(i);;
a.showInfo();
}//同上
③Map是一个接口,有多种具体的实现类,常用的有HashMap和Hashtable类实现。Map中存入的对象是一对一对的,即每个对象和它的一个名字(键)关联在一起,Map中数据存放的结构如下图示:
[img]Key(键或名) Value(key对应的值)
“userName1” UserInfo对象1
“userName1” UserInfo对象1
“userName1” UserInfo对象1
[/img]
Map中的键不能重复,但值可以重复。Map接口中定义了如下常用方法:
V put(K key, V value)
向Map中放入一对有关联关系的对象,如果Map中己有与Key关联的对象,则返回那个对象(原对象被新放入的对象替代),否则返回Null;参数前的K和V分别代表了放入的键和值泛型的类型。
[table]
|void putAll(Map<? extends K,? extends V> t)|将另外一个Map中的键和值加入到Map中
|V get(Object key)|从Map中返回与参数Key相关联的value对象
|boolean containsKey(Object key)|判断Map的Key中是否存在某指定Key对象
|boolean containsValue(Object value)|判断Map的value中是否存在value对象
|V remove(Object key)|从Map中移除key对应的value
|int size()|得到Map中Entry的个数,即Map中有多少对对象。
|Set<K> keySet()|将Map中所有的key对象放入一个Set返回
|Collection<V> values()|将Map中所有Value对象做为一个Collection返回|
[/table]
//迭代key
while(it.hasNext()){
String key=it.next();
A a=m.get(key);
a.showInfo();
}//m是一个Map对象
④Map中不可以放入null的key,但可以有null的Value。Set和List中可以有努力啦的value。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值