java学习 持有对象

时间 :2018/7/26

通常,程序总是根据运行时才知道的某些条件去创建对象。在此之前,不会知道所需对象的数量,甚至不知道确切的类型。为解决这个普遍的编程问题,需要在任意时刻和任意位置创建任意数量的对象。

方法一:数组

    数组是保存一组对象的最有效的方式,如果想保存一组基本数据类型,推荐使用。但数组具有固定的尺寸,而在更一般的情况中,在写程序中并不知道将需要多少对象,或者需要更复杂的方式来存储队象,因此数组尺寸固定这一限制显得太过受限了。

方法二:容器类

    基本类型是:List,Set,Queue,Map,这些对象类型也成为集合类,一般使用术语“容器”来称呼它们。

        Set对于每一个值都值保存一个队象。

        Map是允许你将某些对象与其他一些对象关联起来的关联数组。

        。。。。。。

        Java容器类都可以自动的调整自己的尺寸。

下面开始总结一下容器

----Collection 容器,表示一组对象

----Collection与数组有两点不同:

    ----数组的容量是由限制的,而Collection库没有这样的限制,它的容量可以自动的调节

    ----Collection函数库只能用来存放对象,而数组没有这样的限制。

----Collection接口是Collection层次结构中的根接口,它定义了一些最基本的访问方法

----存放在Collection库中的数据,被称为元素

----Collection接口有两个子接口,是Set和List

    ----其中,List有序可重复

    ----Set,无序不可重复,相同的元素,后面的覆盖前面的

----Map没有继承Collection接口,Map提供Key到value的映射,key是唯一的,value可以重复

关于List

----第一个表示正确,第二个错误。因为List是一个接口,我们知道。接口和抽象类不能实例化,但可以创建一个指向自己的引用

   public static void main(String[] args) {
		List list;
		//List a = new List();
		//ArrayList类是继承AbstractList抽象类和实现List接口的一个实现类
		//其中 list拥有List的所有属性和方法,不会拥有其实现类ArrayList独有的属性和方法
		list = new ArrayList<>();
		//如果想拥有ArrayList特殊的属性和方法
		ArrayList aa = new ArrayList<>();
	}

----为什么这样使用List呢?为了代码的可维护性,可复用性,可扩展性以及灵活性。因为我们不确定会一直使用ArraList。如果我们需要更改的话,就更改一处就行了。

----java集合框架中,最常使用的几种List的实现类是ArrayList,LinkedList和Vector,在各种List中,最好的做法是以ArrayList为默认的选择,当插入,删除频繁时,使用LinkedList,Vector总是比ArrayList慢,所以要避免使用它

----为什么List中的元素是重复,有序的?1.List的数据结构就是一个序列 2.List的元素在存储时互不干扰,没有依赖关系,所以可以重复

----关于List的详细介绍

明天开始总结Set和Map

猜你喜欢

转载自blog.csdn.net/qq_35815781/article/details/81215362