1.容器定义:
将相似的类的属性放到一起,就组成一个容器,也称为集合。
2.容器和数组的关系:
(1)数组长度不太容易扩展,容器随着元素的增加而增加;
(2)数组可以存放基本数据类型和引用数据类型,容器只能存放引用数据类型;
(3)容器不是数组,不能通过下标获取元素;
(4)数组都可以通过ArrayList容器来实现所有的功能;ArrayList也可以通过toArray()方法转化成数组;
package com.dbzhang.demo; import java.util.ArrayList; import java.util.Iterator; public class App { public static void main(String args[]){ //创建一个ArrayList容器 ArrayList<Integer> arrayList = new ArrayList<Integer>(); arrayList.add(11); arrayList.add(22); arrayList.add(33); arrayList.add(44); //获取容器的迭代器Iterator Iterator<Integer> iterator = arrayList.iterator(); System.out.println("获取arrayList容器的元素数============="+arrayList.size()); while(iterator.hasNext()){ Integer value = iterator.next();//获取当前游标右边的元素并将游标右移 System.out.println(value); } System.out.println("--------------------通过ArrayList将容器转化成数组--------------------"); //将ArrayList集合转化成数组 Object[] attrs = arrayList.toArray(); for(int i=0;i<attrs.length;i++){ System.out.println(attrs[i]); } } }
3.容器常用的方法:
package com.dbzhang.demo; import java.util.ArrayList; public class App02 { /** * 容器的下标是从0开始 * 这个方法主要是用来验证常用的方法:set(int index,Object element)、remove(index)、add(int index,Object element) * @param args */ public static void main(String[] args) { ArrayList<Integer> arrayList = new ArrayList<Integer>(); arrayList.add(11); arrayList.add(22); arrayList.add(33); arrayList.add(44); arrayList.add(55); System.out.println("容器1中现在的元素----------------"+arrayList); //容器1中现在的元素----------------[11, 22, 33, 44, 55] /*******重置set(int index,Object element)*******/ arrayList.set(1, 10); arrayList.set(2, 20); System.out.println("容器2中现在的元素----------------"+arrayList); //容器2中现在的元素----------------[11, 10, 20, 44, 55] /*******中间插队add(int index,Object element)*******/ arrayList.add(1, 90); System.out.println("容器3中现在的元素----------------"+arrayList); //容器3中现在的元素----------------[11, 90, 10, 20, 44, 55] /*******中间删除元素remove(int index)*******/ arrayList.remove(2); System.out.println("容器4中现在的元素----------------"+arrayList); //容器4中现在的元素----------------[11, 90, 20, 44, 55] } }4.容器的分类:
set集、list列表、map映射
set集合:Set集合无序、不重复;
list列表:有序、可以重复,可以通过下标获取对应的值;
Map映射:由于内部存储结构的特点,映射中不能包含重复的键值,每个键最多只能映射一个值,否则会出现覆盖的情况(后面的value值会将前面的value值覆盖掉),Map是一种把键对象和值对象进行映射的集合,即Map容器中既要存放数据本身,也要存放关键字:相同的元素会被覆盖
注意:对于Set和Map来说,元素放进去之后是没有顺序的,如果希望元素放进去之后是有顺序的,可以用treeSet和treeMap存储数据。
转自博客文:https://blog.csdn.net/a2011480169/article/details/52047600