创建一个HashMap泛型对象,添加学员姓名分数,键为学员姓名值为学员对象,从HashMap中用迭代器打印学员成绩
import java.util.HashMap;public class HelloWorld{ public static void main(String []args) { HashMap stus=new HashMap(); stus.put("AAA",95); stus.put("BBB",85); stus.put("CCC",75); stus.put("ABC",99); stus.put("CBA",100); for(HashMap.Entry entry : stus.entrySet()) { String key = entry.getKey(); Integer value = entry.getValue(); System.out.println(key+" "+value); } }}
import java.util.HashMap;public class HelloWorld{ public static void main(String []args) { HashMap stus=new HashMap(); stus.put("AAA",95); stus.put("BBB",85); stus.put("CCC",75); stus.put("ABC",99); stus.put("CBA",100); double tot=0,maxv=0,minv=0xfffffff; for(HashMap.Entry entry : stus.entrySet()) { String key = entry.getKey(); Integer value = entry.getValue(); System.out.println(key+" "+value); tot+=value; if(value>maxv) maxv=value; if(value<minv) minv=value; } System.out.println("Highest:"+maxv); System.out.println("lowest:"+minv); System.out.println("avg:"+tot/5); }}运行结果:
import java.util.Map;
import java.util.Map.Entry;
public class Test {
public static void main(String args[]) {
Map<String, Student> students = new HashMap<String, Student>();
students.put("aaa", new Student(60));
students.put("bbb", new Student(70));
students.put("ccc", new Student(80));
for (Entry<String, Student> entry : students.entrySet()) {
System.out.println("姓名:" + entry.getKey() + " 成绩:" + entry.getValue());
}
}
}
class Student {
public Student(int point) {
this.point = point;
}
private int point;
public int getPoint() {
return point;
}
public void setPoint(int point) {
this.point = point;
}
@Override
public String toString() {
return String.valueOf(this.point);
}
}
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
public class TestHashMap {
public static void main(String[] args) {
Map<String, Student> map = new HashMap<String, Student>();
Student stu1 = new Student("张三",89);
Student stu2 = new Student("李四",90);
Student stu3 = new Student("王五",91);//姓名不要一样,不然被覆盖
map.put(stu1.getName(), stu1);
map.put(stu2.getName(), stu2);
map.put(stu3.getName(), stu3);
for(Iterator<Map.Entry<String, Student>> it = map.entrySet().iterator(); it.hasNext();){
Entry<String, Student> entry = it.next();
System.out.println("姓名:"+entry.getKey()+" 成绩:"+entry.getValue().getScore());
}
}
}
class Student{
String name;
double score;
public Student(){
}
public Student(String name,double score){
this.name = name;
this.score = score;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
}
java中map集合能不能存另两个集合
java中map集合能放另外两个集合,主要是使用map的putall集合,加入另一个集合,如下代码:import java.util.HashMap;import java.util.Map;public class ceshi {public static void main(String[] args) {Map map1 = new HashMap();map1.put("key1", "values1");Map map2 = new HashMap()...
Java 做项目能用到 Map 哪些功能?这篇总结全了
创建Map实例时,可以使用HashMap或TreeMap。从Java 5开始,可以使用泛型限制Map中键和值的对象类型,提高代码可读性和安全性。向Map中写入单个元素时,使用put()方法。Map的键和值可以是Java对象,原始值将进行自动装箱。一个键只能在Map中出现一次,多次调用put()方法将覆盖旧值。Map的键和值可以是...
java map获取到的值转为User对象
不论是否使用了泛型,如果对象序列相同,就可以实现强制转化。如果不能转化只有一种可能map中封装的User对象与你强制转化的对象不是同一个对象
JAVA 如何获取存放在MAP中的list 对象?
HashMap<String,List<String>> b =new HashMap<String,List<String>>();b.put("a",a);...List<String> c = b.get("a");最后一步不需要强行转型,而且如果在b.put("a",a);这一步如果你想往b里面放一个不是List<String>的东西,或者使用的key不是一个String,编译器就会抗议。泛型学...
List和ArrayList,Map和HashMap的区别
HashMap是它的实现类,HashMap用hash表实现的Map,就是利用对象的hashcode(hashcode()是Object的方法)进行快速散列查找.(关于散列查找,可以参看<<数据结构>>)一般情况下,如果没有必要,推荐代码只同List,Map接口打交道.比如:List list = new ArrayList();这样做的原因是list就相当于是一个泛型的实现,...
Java泛型 | Jackson TypeReference获取泛型类型信息
ObjectMapper 实际上无法将序列化结果反序列化为 UserResource 类型,而是将其反序列化为 LinkedHashMap 类型。TypeReference 的实现方式 为解决上述问题,Jackson 提供了 ObjectMapper 的 readValue 方法,接受一个 TypeReference 类型的实例作为第二个参数。通过创建 TypeReference 的子类实例,如 `new ...
java中<T>问题
Map<String,Driver> allDrivers =; census.addResigtry(allDrivers); 编写泛型类要注意: 1) 在定义一个泛型类的时候,在“<>”之间定义形式类型参数,例如:“class TestGen<K,V>”,其中“K” , “V”不代表值,而是表示类型。 2) 实例化泛型对象的时候,一定要在类名后面指定类型参数的值(类型),一共要...
HASHMAP的clone为什么是浅拷贝
HASHMAP的Clone 分浅拷贝和深拷贝;浅拷贝就比如像引用类型,而深拷贝就比如值类型。浅拷贝是指源对象与拷贝对象共用一份实体,仅仅是引用的变量不同(名称不同)。对其中任何一个对象的改动都会影响另外一个对象。举个例子,一个人一开始叫张三,后来改名叫李四了,可是还是同一个人,不管是张三缺胳膊...
java中hashmap集合中.values返回一个包含值的列表,这个列表到底是什么...
是 AbstractCollection 类型。AbstractCollection 又继承了 Collection。HashMap 继承自 AbstractMap,AbstractMap 里 定义了一个 values 变量,这个变量是 AbstractCollection 类型,values() 方法返回的就是这个 values 变量。你弄不清楚的地方,可以把源码找出来看看。
Java 做项目能用到 Map 哪些功能?这篇总结全了
调用mapB.putAll(mapA)只会将mapA中的键值对复制到mapB,不会从mapB复制到mapA。若需反向复制,执行mapA.putAll(mapB)。从Map中获取值使用Map实例的get()方法获取指定元素的值。此方法返回一个Java对象,返回类型取决于创建Map时是否使用泛型限制键和值类型。使用泛型指定键和值类型后,不再需要转换...