java中Map类测试总结
来源:互联网 发布:网络开发视频 编辑:程序博客网 时间:2024/09/21 09:23
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;
public class MapStu {
/*Map:所有map容器的父接口
*map存储的是键值对;map存储数据,是一对一对存的.(key,value)
*HashMap:底层数组加链表
*1.元素的排列顺序与存储的顺序无关
*2.map中的键是不能重复的;(如果添加了相同键的键值对,以前的值被覆盖)
*3.hashmap的键和值都可以为null,并且null作为键的时候作为唯一的对象来使用
*api:
*1.containsKey(Object key),containsKey(Object value):判断当前map内是否包含指定的键或者值
2.remove(Object key):根据键删除某个指定的键值对
TreeMap:底层红黑树
1.必须对键值对进行排序
2.根据键的排序来决定键值对的顺序
HashTable:线程安全的HashMap
1.键和值都不能为null;
*/
public static void main(String[] args)
{
demo4();
}
//map容器的元素添加
public static void demo(){
Map<String,Student> map = new HashMap<String,Student>();
for (int i = 1; i < 6; i++)
{
//添加元素
map.put("stu"+i,new Student("stu"+i,i+18));
}
System.out.println(map);
//取值
Student stu = map.get("stu1");
System.out.println(stu);
//containsKey(Object key)
System.out.println(map.containsKey("stu2"));
System.out.println(map.containsValue(new Student("stu1",19)));
//remove
map.remove("stu2");
System.out.println(map.containsKey("stu2"));
}
//map的键不能重复
public static void demo2(){
Map<String,Student> map = new HashMap<String,Student>();
Student stu1 = new Student("辛巴",5);
Student stu2 = new Student("刀疤",5);
map.put("狮子",stu1);
map.put("狮子",stu2);
System.out.println(map.get("狮子"));
map.put(null,stu1);
map.put("老虎", null);
map.put(null,null);
System.out.println(map.get("老虎"));
System.out.println(map.get(null));
}
//hashMap的遍历
public static void demo3(){
Map<String,Student> map = new HashMap<String,Student>();
for (int i = 1; i < 6; i++)
{
//添加元素
map.put("stu"+i,new Student("stu"+i,i+18));
}
//entryset
Set<Entry<String,Student>> entry = map.entrySet();
for (Entry<String, Student> entry2 : entry)
{
System.out.println(entry2.getKey()+":"+entry2.getValue());
}
System.out.println("============================================================");
//keySet
Set<String> keySet = map.keySet();
for (String string : keySet)
{
System.out.println(string+":"+map.get(string));
}
System.out.println("==============================================");
//values:只能遍历值
Collection<Student> coll = map.values();
for (Student student : coll)
{
System.out.println(student);
}
}
//treeMap排序
public static void demo4(){
Map<Student,String> map = new TreeMap<Student,String>();
for (int i = 1; i < 6; i++)
{
//添加元素
int age = (int)(Math.random()*(100-20+1))+20;
map.put(new Student("stu"+i,age),"stu"+i);
}
System.out.println(map);
}
}
class Student implements Comparable<Student>{
String name;
int age;
public Student(String name, int age)
{
super();
this.name = name;
this.age = age;
}
@Override
public String toString()
{
return "Student [name=" + name + ", age=" + age + "]";
}
@Override
public int hashCode()
{
final int prime = 31;
int result = 1;
result = prime * result + age;
result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
@Override
public boolean equals(Object obj)
{
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Student other = (Student) obj;
if (age != other.age)
return false;
if (name == null)
{
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
@Override
public int compareTo(Student o)
{
if(this.age<o.age){
return -1;
}else if(this.age>o.age){
return 1;
}
return 0;
}
}
一个不错的java项目:JAVA WEB 项目教程-模仿天猫整站 J2EE版
- java中Map类测试总结
- java中类测试总结
- java中Map集合总结
- java中 map使用总结
- java:java中Map类学习与总结
- java中String类测试总结
- java中Object类测试总结
- java中StringBuilder类测试总结
- java中Date类测试总结
- java中DateFormat类测试总结
- java中日历Calendar类测试总结
- java中包装类测试总结
- java中list类测试总结
- java中set类测试总结
- java中Map类
- java中Map类
- java中Map类
- java中Map类
- 大咖 | 霍金学生、计算机视觉领域奠基人Alan Yuille:AI的进步需要基础理论上有所发展
- Ajax——使用html配合php实现文件上传到服务器
- 我们压缩了一批深度学习进阶“传送门”给小白
- 那个让鲸鱼跃出篮球场的Magic Leap,终于发布了一款AR眼镜
- ssl1203-书的复制【dp】
- java中Map类测试总结
- [Unity插件]Unity的画图绘画插件在人物角色物体身上涂鸦绘画
- Ajax——浏览器发送的http请求
- 计算机中负数表示法
- Dell 灵越7370 装机过程遇到硬盘枷锁 bitlocker锁解决方法
- Ajax——密码发送的方式
- 设置图片在Unity中的默认打开方式
- Ajax基本概念
- 百度、腾讯、阿里等互联网公司年终奖都发多少?