美文网首页
Java学习day-17-1:容器-泛型

Java学习day-17-1:容器-泛型

作者: 开源oo柒 | 来源:发表于2019-07-30 21:45 被阅读0次

一、泛型:

1.为什么使用泛型?

1)装入集合的类型都被当作 Object 对待,从而失去自己的实际类型。

2)从集合中取出时往往需要转型,效率低,容易产生错误。

3)泛型增强程序的可读性和安全性。

2.泛型的本质:

 泛型的本质就是“数据类型的参数化”。泛型存在编译前;

3.泛型的分类:

1)泛型类;

2)泛型接口;

3)泛型方法;

代码截图 结果

4.自定义泛型:

在类的声明处增加泛型列表,如<T,E,K,V>;

代码截图 结果

5.容器中的泛型使用:

在Collection、List、Set、Map、Iterator接口都定义了泛型。

结果

二、 迭代器:

迭代器提供了统一的遍历容器的方式。

1.使用迭代器遍历容器:

(1)遍历List-Set;

使用ListIterator 接口遍历List;ListIterator 是对 Iterator 接口的扩展;Set的遍历和List类似:

代码截图 结果

(2)遍历Map:

1)根据Key获取value;

2)使用entrySet;

代码截图 结果

三、Collections工具类:

 类java.util.Collections提供了对Set,List,Map进行排序,填充,查找元素的辅助方法。

1.Collections的使用:

(1)Collections的方法都是静态的可以直接类名加方法名调用;

(2)专门用来操作集合的工具类

(3)Collections的构造方法是私有的,不能创建对象;

2.常用方法:

1)Collections.addAll(list, "aaa","bbb","ccc","ccc");

2)int index = Collections.binarySearch(list, "ccc");

3)Collections.copy(list2, list);

4) Collections.fill(list3, "888");

5)String max = Collections.max(list4);

6)String min = Collections.min(list4);

7)Collections.reverse(list4);

8) List list5 = Collections.synchronizedList(list4);

代码截图 结果

四、容器总结:

1.Collection接口的两个子接口:

(1)List中的元素有顺序,可重复。常用的实现类有ArrayList、LinkedList和 vector。

(2)Set中的元素没有顺序,不可重复。常用的实现类有HashSet和TreeSet。

(3)实现Map接口的类用来存储键(key)-值(value) 对。Map 接口的实现类有HashMap和TreeMap

(4)特性:

1)ArrayLis:查询效率高,增删效率低,线程不安全。

2)LinkedLis:查询效率低,增删效率高,线程不安全。

3)vector:线程安全,效率低,其它特征类似于ArrayList。

4) HashSet:采用哈希算法实现,查询效率和增删效率都比较高。

5)TreeSet:内部需要对存储的元素进行排序。

6)Map类:存储的键-值对通过键来标识,所以键值不能重复。

相关文章

  • Java学习day-17-1:容器-泛型

    一、泛型: 1.为什么使用泛型? 1)装入集合的类型都被当作 Object 对待,从而失去自己的实际类型。 2)从...

  • Java 3 对象容器

    Ref:什么是泛型Java 容器 & 泛型(1):认识容器 3.1 顺序容器 我们首先学习的是顺序容器,即放进容器...

  • Java泛型教程

    Java泛型教程导航 Java 泛型概述 Java泛型环境设置 Java泛型通用类 Java泛型类型参数命名约定 ...

  • 深入浅出泛型,框架设计的基础

    泛型在 Java 5 出现,实现了参数化类型,主要作用是使得类或接口更加通用。比如 Java 中的容器类,通过泛型...

  • 深入浅出泛型,框架设计的基础

    泛型在 Java 5 出现,实现了参数化类型,主要作用是使得类或接口更加通用。比如 Java 中的容器类,通过泛型...

  • Android 学习(一):Java 泛型

    Java泛型学习 1.0 泛型常用案例 2.0 泛型方法 3.0 泛型类 4.0 通配符 ? 通配符,占位符,标识...

  • Java泛型

    java泛型解决容器,不确定类型问题,多个返回值,避免类型转换。 类泛型 类泛型定义的时候需要在类型后增加尖括号,...

  • Java泛型

    1.为什么需要泛型 为了解决这个问题,让问题提前到编译期就能发现,Java推出的了泛型。泛型最常使用的在各种容器中...

  • 第二十八课:泛型

    泛型出现之前 泛型出现之后 Java深度历险(五)——Java泛型

  • Colletions.sort 和 Arrays.sort 的算

    Java 容器 & 泛型:四、Colletions.sort 和 Arrays.sort 的算法 Writer:B...

网友评论

      本文标题:Java学习day-17-1:容器-泛型

      本文链接:https://www.haomeiwen.com/subject/jhuorctx.html