码迷,mamicode.com
首页 > 其他好文 > 详细

集合类小结

时间:2017-04-16 22:19:19      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:while   包括   get   新功能   nbsp   数据类型   entry   获取   arraylist   

一、数组与集合

  数组(可以存储对象包括基本类型)是一种常见的数据结构,对元素访问快速,但长度固定,存储数据类型需一致。

  集合只能存储对象,长度可变,可以存储不同类型的对象。

  数组与集合之间可以通过toArray()和Arrays.asList()相互转换。

二、集合框架图

  集合类存放在java.util包中,主要两种类型:Collection和Map,继承关系如下图:

技术分享

  List、Set和Map是集合中的三个主要接口。其中,List和Set继承自Collection(没有直接实现类)根接口,Map和Collection相互独立,但也属于集合类。

  List:有序且允许元素重复;基于数组的Vector和ArrayList适合查询,而基于链表的LinkedList适合添加,删除操作。

  Set:无序且不允许元素重复;不能重复的原因是:Set实现的基础是Map(HashMap),HashMap的key不能重复。

  Map:键值对集合,键不能重复,值可重复。

三、集合类遍历

1、Collection

Collection没有get()方法来获取某个元素,只能通过iterator()遍历元素;foreach内部也是采用了Iterator的方式实现;List可以通过get()方法获取元素。

四种遍历方式:

1)Iterator:迭代输出,是使用最多的输出方式。
2)ListIterator:是Iterator的子接口,专门用于输出List中的内容。
3)foreach输出:JDK1.5之后提供的新功能,可以输出数组或集合。
4)for循环。

代码示例:

for的形式:for(int i=0;i<arr.size();i++){...}
foreach的形式: for(int i:arr){...}
iterator的形式:
Iterator it = arr.iterator();
while(it.hasNext()){ Object o =it.next(); ...}

2、Map

1)首先通过Map.keySet()将Map中的所有key存入到Set集合中,然后通过iterator()获取迭代器或者foreach遍历key,最后通过Map.get()方法取得对应的值。

 

2)通过Map.entrySet()将键值对作为一个整体一对一对地存放到Set集合中,Map.Entry表示映射关系,然后通过iterator()获取迭代器或者foreach遍历获取,key(e.getKey())和value(e.getValue());

 

 

 

 

  

  

集合类小结

标签:while   包括   get   新功能   nbsp   数据类型   entry   获取   arraylist   

原文地址:http://www.cnblogs.com/aaron-shu/p/6720238.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!