12-4-2017周总结

来源:互联网 发布:vb与sql数据库连接 编辑:程序博客网 时间:2024/06/05 21:07

本周学习了泛型,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。

原创粉丝点击