笔记(十一)Java高级特性:集合泛型与框架

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/johnwillwin/article/details/89928999

这部分属于Java高级特性,没有涉及过度思想类的东西,介绍了更多的JavaAPI和应用场景。要习惯查阅Java帮助文档,查阅API特性以及怎么使用。

不知道程序运行时需要多少个对象,或者需要更复杂的方式存储对象(比如键值存储)时使用Java集合框架。

Java的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口的类)。所有抽象出来的数据结构和操作(算法),统称为Java集合框架(Java Collection Framework)。Java在具体应用时,不必考虑数据结构和算法的实现细节,只需要用这些类创建出相应的对象,然后直接应用,提高了编程效率。集合框架位于Java.util包(Java的一个常用工具包)中。

1.Collection存储一组不唯一,无序的对象。

2.List(常用有ArrayList与LinkedList)接口存储一组不唯一,有序(插入顺序)的对象。

ArrayList实现了长度可变的数组,在内存中连续分配空间,遍历元素和随机访问元素的效率比较高。

LinkedList采用链表存储方式。插入删除元素时效率就比较高。

3.Set接口存储一组唯一,无序的对象。

1).HashSet是Set接口常用的实现类。

2).Set存放对象的引用。

3).set接口如何判断加入对象是否已经存在?采用对象的equals()方法比较两个对象是否相等。

4).Set接口没有get()方法,因为它是无序的。

5).如何遍历set集合:

1.通过迭代器Iterator实现遍历,获取iterator:Collection接口的iterate()方法

Iterator的方法:

boolean hasNext():判断是否存在一个可访问的元素。

Object next():返回要访问的下一个元素。

2.增强型for循环

4.Map接口存储一组键值对象,提供Key到Value的映射,与Collention没有继承关系。

1).Map接口专门处理键值映射数据的存储,可以根据键实现对值的操作,最常用的实现类是HashMap.

5.泛型集合

将对象的类型作为参数,指定到其他类或者方法上,从而保证类型转换的安全性和稳定性。本质是参数化类型。其实就是规定了集合的类型,只能是某一种类型。

ArrayList<Student>students = new ArrayList<Student>();

Student student = new Student();

student.add(student);

6.Collections算法类

1).Java集合框架将针对不同数据结构算法的实现都保存在工具类中,Collections类定义了一系列用于操作集合的静态方法。

2).Collections与Collection不同,前者是集合的操作类,后者是集合接口。

3).collentions提供的常用静态方法:

sort()

binarySearch():查找

max()/min()

4).Collections可以对集合进行排序、查找和替换操作。要实现一个类的对象之间比较大小,该类要实现Comparable接口,重写comparTo()方法。

猜你喜欢

转载自blog.csdn.net/johnwillwin/article/details/89928999
今日推荐