Java集合

来源:互联网 发布:ip下载软件 编辑:程序博客网 时间:2024/06/03 06:43

集合,集合是Java中提供的一种容器,可以用来存储多个数据,与数组的区别在于数组的长度是固定的,集合的长度是可变的,集合中存储的元素必须是引用类型的。

集合主要有Collection和Map接口。


Collection接口:

List特点:元素有放入顺序,元素可重复 ;
Set特点:元素无放入顺序,元素不可重复;主要有两个实现类,分别是HashSetTreeSet
List接口有三个实现类:LinkedList,ArrayList,Vector;
LinkedList:底层基于链表实现,链表内存是散乱的,每一个元素存储本身内存地址的同时还存储下一个元素的地址。链表增删快,查找慢 ;
ArrayList和Vector的区别:ArrayList是非线程安全的,效率高;Vector是基于线程安全的,效率低 ;
Set接口有两个实现类:HashSet(底层由HashMap实现),LinkedHashSet ;


Map接口:

Map特点:元素按键值对存储,无放入顺序 ;

Map接口有三个实现类:HashMap,HashTable,LinkeHashMap 
Map提供key到value的映射。一个Map中不能包含相同key,每个key只能映射一个value。Map接口提供3种集合的视图,Map的内容可以被当做一组key集合,一组value集合,或者一组key-value映射。 


Map与Collection接口的区别:

Map接口下的集合与Collection接口下的集合,它们存储数据形式不同
Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。
Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键可以找对应的值。
Collection中集合为单列集合,Map中的集合为双列集合。
需要注意的是,Map中的集合不能包含重复的键值可以重复;每个键只能对应一个值

HashMap的使用:

      

                 Public class Example{

                    Public static void main(String[] args){

                      HashMap  Hmap = new HashMap();

                 //元素的添加

                    Hmap.add(1,“张三”);

Hmap.add(2,“李四”);

Hmap.add(3,“王五”);