java,集合框架中为什么输出的键值value 是编码 不是自定义的字符串(有代码)?
packageHashmap;importjava.util.HashMap;importjava.util.Map;publicclassHashMapDemo{pub...
package Hashmap;
import java.util.HashMap;
import java.util.Map;
public class HashMapDemo {
public static void main(String[] args) {
//创建学院对象-
Student s1=new Student("李明","男");
Student s2=new Student("丽丽","女");
//创建保存键值集合对象
Map<String, Student> studentmap=new HashMap<String, Student>();
//把英文名按照键值存储在 hashmap;
studentmap.put("Jack",s1);
studentmap.put("Rose",s2);
//打印出键集
System.out.println("键值"+studentmap.keySet());
//打印值集
System.out.println("值集"+studentmap.values());
//打印键值对集合
System.out.println("键值集合"+studentmap);
//判断是否存在key
String key="Jack";
if(studentmap.containsKey(key)){
Student s=(Student) studentmap.get(key);
System.out.println("学员姓名"+s.getName());
}
for(String a:studentmap.keySet()){
System.out.println(key);
}
for(Student s:studentmap.values()){
System.out.println(s.getName()+"\t"+s.getGender());
}
}
}
-------------------------------------------------------------------------------------------
控制台输出
键值[Jack, Rose]
值集[Hashmap.Student@154ab8e4, Hashmap.Student@5cb08ba7]
键值集合{Jack=Hashmap.Student@154ab8e4, Rose=Hashmap.Student@5cb08ba7}
学员姓名李明
Jack
Jack
李明 男
丽丽 女 展开
import java.util.HashMap;
import java.util.Map;
public class HashMapDemo {
public static void main(String[] args) {
//创建学院对象-
Student s1=new Student("李明","男");
Student s2=new Student("丽丽","女");
//创建保存键值集合对象
Map<String, Student> studentmap=new HashMap<String, Student>();
//把英文名按照键值存储在 hashmap;
studentmap.put("Jack",s1);
studentmap.put("Rose",s2);
//打印出键集
System.out.println("键值"+studentmap.keySet());
//打印值集
System.out.println("值集"+studentmap.values());
//打印键值对集合
System.out.println("键值集合"+studentmap);
//判断是否存在key
String key="Jack";
if(studentmap.containsKey(key)){
Student s=(Student) studentmap.get(key);
System.out.println("学员姓名"+s.getName());
}
for(String a:studentmap.keySet()){
System.out.println(key);
}
for(Student s:studentmap.values()){
System.out.println(s.getName()+"\t"+s.getGender());
}
}
}
-------------------------------------------------------------------------------------------
控制台输出
键值[Jack, Rose]
值集[Hashmap.Student@154ab8e4, Hashmap.Student@5cb08ba7]
键值集合{Jack=Hashmap.Student@154ab8e4, Rose=Hashmap.Student@5cb08ba7}
学员姓名李明
Jack
Jack
李明 男
丽丽 女 展开
2个回答
展开全部
输出的是Student类对象的存储地址。因为你的值不是String而是Student类的对象,而你Student类的对象我猜没有重写toString()方法,所以在系统检测到print方法而自动调用toString()方法的时候,就会输出地址。如果想要输出别的东西,可以重写toString方法让它输出你想要的字符串即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询