什么是容器,有什么作用
在面向对象编程中所有实体我们都抽象为一个类,一个类可以理解为我们自定义的一种数据类型,天下间无数种实体那么就有无数种类,故也就有无数种数据类型。在基本数据类型中,我们常常使用数组来存储管理使用数据,但是现在有那么多数据类型数组明显不够用了,于是发明了容器的概念,这个容器是一个封装的类,里面实际上还是数组,但是这个数组数据类型是object类型,也就是说可以存储任意我们自定义数据类型,且容器还有个优势是可以动态增删元素,不必关系是否空间不足而越界,有点像顺序表
常用容器有List类及其子类LinkedList类、List类及其子类ArrayList,本节学习Map类
Map类不同于之前两种常用容器:数组型容器ArrayList与链表型容器LinkedList,Map容器内每个结点包含两个不同类型的数据,数据都是成对出现的,一般分别用key与value表示,初始化时候两个值一同放到结点中,而查找时候可以通过ke值查找到value值
package bao_1;
import java.util.HashMap;
import java.util.Map;
public class myMap {
public static void main(String[] args) {
//创建Map对象
Map map = new HashMap();
student s1 = new student("小刚", 12);
student s2 = new student("小明", 16);
student s3 = new student("小华", 14);
student s4 = new student("小强", 12);
//往容器中放东西
map.put(s1, new teacher("周老师"));
map.put(s2, new teacher("李老师"));
map.put(s3, new teacher("张老师"));
map.put(s4, new teacher("王老师"));
// 查找
teacher Teacher = (teacher) map.get(s2);
System.out.println(Teacher.name);
//移除
boolean a= map.containsKey(s1);
System.out.println(a);
}
}
/**
* 学生类
* @author 慧天地
*
*/
class student {
String name;
int id;
public student(String name, int id) {
this.id = id;
this.name = name;
}
public void func() {
}
}
/**
* 老师类
* @author 慧天地
*
*/
class teacher {
String name;
int id;
public teacher(String name) {
this.name = name;
}
public void func() {
}
}