12-4-2017周总结

本周学习了泛型,Map集合还有集合工具类。
1.泛型将运行时期的问题转移到了编译时期,避免了强制类型转换;泛型可以用在接口上,类上还有方法上。

1.2 定义在接口上的泛型。

interface Inter <Y>{//在接口上定义了一个不明确要操作的引用类型
 void show(Y y);} 

1.3定义在方法上的泛型。

   public static <Y> void method(Y obj){
    System.out.println("method:"+obj);
}

1.4定义在类上的泛型。

public class Tool<QQ>{
private QQ q;

public QQ getObject() {
    return q;
}

public void setObject(QQ q) {
    this.q = q;
}

1.5 泛型通配符

<? extends M> 可以接收M类及其子类。
<? super M>  可以接收M类及其父类。

2 Map集合,一次可以添加一对元素,存储的是键值对,是双列集合;Map集合必须保证键的唯一性。

2.2 Map集合的常见子类。

HashTable:数据结构是哈希表支持同步,不允许null作为键和值。
|---Properties:存储的是键值对型的配置文件信息,可以与IO相结合。
HashMap:内部数据结构是哈希表不支持同步,允许null作为键和值。
|---LinkedHashMap:数据结构是链表和哈希表,可以实现存取一致(顺序)。
TreeMap:数据结构是二叉树不支持同步。可以对集合中的键进行排序。

注意:在使用HashMap和TreeMap时,要分别覆盖hashCode equals和实现comparable和comparator接口覆盖比较方法。

2.3 Map集合取出元素的方式。(在Map集合中是没有迭代器的,所以它要取出元素,必须经过一系列的转化)

1.Collection<V> values();
返回此映射中包含的值的Collection视图。
2.Set<V> KeySet();
返回此映射中包含键的Set视图,再通过Set的迭代器取到每一个键,在通过键取值。
3.Set<Map.Entry<K,V>> entrySet();
返回此映射中包含的映射关系Set视图,再通过Set的迭代器和getKey和getValue方法取键和值。

4.foreach语句,也可以完成对集合的遍历(包括Map集合)
通常只用来遍历,不对集合进行其他的操作。        
格式for(类型 变量:Collection集合|数组)        

3.工具类是对集合和数组功能进行的补充;工具类有两种一种是集合工具类Collections,另一种是数组工具类Arrays(最重要的是asList方法可以将数组转为集合),里面的方法全部都是静态的,具体使用的话可以去查API。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值