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.youkuaiyun.com/a2011480169/article/details/52047600