Java中的集合--初级
2015-06-03 14:33
344 查看
Java中的集合主要有两类,Collection集合和Map集合,而我们通常用的最多的就是Collection集合中的ArrayList集合和Map集合中的HashMap集合。
软件中最重要的就是数据,如果是一个数据我们可以存放在变量中,如果是多个数据我们可以存放在数组中,但是数组有一个最大的缺陷就是它的大小是一定的,也就是它可以存放的元素是可数的,我们定义数组的时候是要定义它的长度的。而集合就不同了,你定义好了集合,就可以无限地向里面存放元素,而不需要考虑它的长度。集合家族一般可以按下图的结构来划分:
当然,上面的图只是简单清晰一点儿的划分,其实集合是一个很庞大的家族,当说Collection的子接口就有很多种,List中可以存放重复的内容;Set中不能存放重复的内容;SortedSet则可以对集合中的数据进行排序;还有被称为队列接口的Queue...
Collection、List、Set接口都是单值的操作,即每次只能操作一个对象,而Map与他们不同的是,每次操作是一对对象,Map中的每个元素都使用Key—Value对的形式存储在集合中。
我们使用集合,就是为了在内存中操作数据,操作数据无非就是增、删、改、查、那么在我们常用的集合中是怎么进行增、删、改、查的呢?
先以ArrayList集合为例说说Collection集合家族中数据的增、删、改、查。假设有一个ArrayList集合的象 arrayList,那么对它的操作主要就有如下几种:
1. 使用add()方法添加元素到集合中
2. 使用remove()方法从集合中删除元素
3. 使用set()方法修改某一元素的值
4. 使用循环遍历arrayList中的元素
再说说Map集合的增、删、改、查假设有一个Map集合的对象map,那么对他的操作也有以下几种:
1. 使用put(K,V)方法向Map集合中添加新的元素
2. 使用remove(K)方法删除集合中某一元素
3. 修改Map集合中的值还是用put(K,V)方法
下面重点说说集合的遍历,Collection接口下的集合就不用说了,通过普通的for循环或者for-each循环就可以成功遍历。难点在于Map集合的遍历。
第一种方法:遍历Map中的Map.Entry<K,V>对象,这个对象中方的就是一个个的键值对
第二种方法:遍历Map中的key来遍历Map集合
第三种方法:遍历Map中的value来遍历Map集合
其实Map集合的结构可以用下图来解释:
所有的key放在一个Set集合中,所有的value放在一个Collection集合中,每一个K-V对放在一个Entry中,而所有的Entry放在Set集合中。所以遍历Map的方法就会有很多种,根据个人爱好和实际情况选择一种你最喜欢的方法遍历吧。
软件中最重要的就是数据,如果是一个数据我们可以存放在变量中,如果是多个数据我们可以存放在数组中,但是数组有一个最大的缺陷就是它的大小是一定的,也就是它可以存放的元素是可数的,我们定义数组的时候是要定义它的长度的。而集合就不同了,你定义好了集合,就可以无限地向里面存放元素,而不需要考虑它的长度。集合家族一般可以按下图的结构来划分:
当然,上面的图只是简单清晰一点儿的划分,其实集合是一个很庞大的家族,当说Collection的子接口就有很多种,List中可以存放重复的内容;Set中不能存放重复的内容;SortedSet则可以对集合中的数据进行排序;还有被称为队列接口的Queue...
Collection、List、Set接口都是单值的操作,即每次只能操作一个对象,而Map与他们不同的是,每次操作是一对对象,Map中的每个元素都使用Key—Value对的形式存储在集合中。
我们使用集合,就是为了在内存中操作数据,操作数据无非就是增、删、改、查、那么在我们常用的集合中是怎么进行增、删、改、查的呢?
先以ArrayList集合为例说说Collection集合家族中数据的增、删、改、查。假设有一个ArrayList集合的象 arrayList,那么对它的操作主要就有如下几种:
1. 使用add()方法添加元素到集合中
2. 使用remove()方法从集合中删除元素
3. 使用set()方法修改某一元素的值
4. 使用循环遍历arrayList中的元素
再说说Map集合的增、删、改、查假设有一个Map集合的对象map,那么对他的操作也有以下几种:
1. 使用put(K,V)方法向Map集合中添加新的元素
2. 使用remove(K)方法删除集合中某一元素
3. 修改Map集合中的值还是用put(K,V)方法
下面重点说说集合的遍历,Collection接口下的集合就不用说了,通过普通的for循环或者for-each循环就可以成功遍历。难点在于Map集合的遍历。
第一种方法:遍历Map中的Map.Entry<K,V>对象,这个对象中方的就是一个个的键值对
第二种方法:遍历Map中的key来遍历Map集合
第三种方法:遍历Map中的value来遍历Map集合
其实Map集合的结构可以用下图来解释:
所有的key放在一个Set集合中,所有的value放在一个Collection集合中,每一个K-V对放在一个Entry中,而所有的Entry放在Set集合中。所以遍历Map的方法就会有很多种,根据个人爱好和实际情况选择一种你最喜欢的方法遍历吧。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统