深入理解java的容器

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























猜你喜欢

转载自blog.csdn.net/zdb292034/article/details/80637079
今日推荐