Java中的集合--初级

来源:互联网 发布:小米电视有线网络设置 编辑:程序博客网 时间:2024/05/22 06:44

    Java中的集合主要有两类,Collection集合和Map集合,而我们通常用的最多的就是Collection集合中的ArrayList集合和Map集合中的HashMap集合。

    软件中最重要的就是数据,如果是一个数据我们可以存放在变量中,如果是多个数据我们可以存放在数组中,但是数组有一个最大的缺陷就是它的大小是一定的,也就是它可以存放的元素是可数的,我们定义数组的时候是要定义它的长度的。而集合就不同了,你定义好了集合,就可以无限地向里面存放元素,而不需要考虑它的长度。集合家族一般可以按下图的结构来划分:

   

   

    当然,上面的图只是简单清晰一点儿的划分,其实集合是一个很庞大的家族,当说Collection的子接口就有很多种,List中可以存放重复的内容;Set中不能存放重复的内容;SortedSet则可以对集合中的数据进行排序;还有被称为队列接口的Queue...

    CollectionListSet接口都是单值的操作,即每次只能操作一个对象,而Map与他们不同的是,每次操作是一对对象,Map中的每个元素都使用Key—Value对的形式存储在集合中。

    我们使用集合,就是为了在内存中操作数据,操作数据无非就是增、删、改、查、那么在我们常用的集合中是怎么进行增、删、改、查的呢?

    先以ArrayList集合为例说说Collection集合家族中数据的增、删、改、查。假设有一个ArrayList集合的象 arrayList,那么对它的操作主要就有如下几种:

    1. 使用add()方法添加元素到集合中

    2. 使用remove()方法从集合中删除元素

    3. 使用set()方法修改某一元素的值

    4. 使用循环遍历arrayList中的元素

    再说说Map集合的增、删、改、查假设有一个Map集合的对象map,那么对他的操作也有以下几种:

    1. 使用put(KV)方法向Map集合中添加新的元素

    2. 使用remove(K)方法删除集合中某一元素

    3. 修改Map集合中的值还是用put(KV)方法

    下面重点说说集合的遍历,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的方法就会有很多种,根据个人爱好和实际情况选择一种你最喜欢的方法遍历吧。



0 0