有容乃大之Java集合,为你量身做嫁衣。意思是说,Java集合可以存放不同的数据类型,并且可以根据数据类型和长度不同量身定做。
一、什么是集合/集合类
java集合类是一种特别有用的工具类,集合类型主要有3种:set(集)、list(列表)和map(映射),JDK1.5以后增加了Queue(队列)构成了集合的四大体系。其中set代表无序、不可重复的集合;list代表有序、可重复的集合;map代表具有映射关系的集合;queue代表队列集合。
Set只是简单的放置、无序,list数组列表,有顺序,map可意为地图,是不是有坐标,queue队列之意。像是往一个篮子set东西,如果想区别它是不是每一样东西不能相同;如果把相同的东西比如苹果每个都贴上不同的标签再map进篮子中,这样变可以区分;如果这个篮子是有序插槽组成并且规定放东西的顺序,往每个插槽中list一个苹果是不是也可以单独取出想要的那个苹果。
java集合类主要负责保存、盛装其他数据,集合类也称容器类。
Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口。
二、为什么要有集合
在编程中需要集中存放多个数据,我们可以使用数组来保存多个对象。然而数组长度不可变化,一旦在初始数组时指定了数组长度则这个数组长度便固定,如果需要保存个数变化的数据,数组就有点无能为力;而且数组无法保存具有映射关系的数据。为了保存数量不确定的数据,以及保存具有映射关系的数据,Java提供集合类。
集合解决数组创建后定长、数组类型单一问题。JDK1.5增加了泛型后,Java集合可以记住容器中对象的数据类型,从而可以编写更简洁、健壮的代码。
三、java集合的包
java.util(集合类)和java.util.concurrent(多线程集合类)。
四、集合与数组的区别
数组:存放多个数据,长度不可变化,无法保存具有映射关系的数据;元素可以是基本类型的值也可以是对象。
集合:为了保存数量不确定的数据,以及保存具有映射关系的书籍(关联数组);元素是对象。
集合类:容器类,java5在java.util.concurrent提供一些多线程支持集合类处理多线程环境下的并发安全问题。
至此,对常说的java集合是不是有一个宏观上的清晰了解,java集合更深层魅力,将会揭晓。