⑴ java中hashmap的应用,本人小白,这题要咋搞
importjava.util.HashMap;
importjava.util.Map;
publicclasswork{
publicstaticvoidmain(String[]args){
classStudent{//定义内部类Student
privateStringnum;//学号
privateStringname;//名称
privateintage;//年龄
Student(){
}//无参构造方法
Student(Stringnum,Stringname,intage){//有参构造方法
this.num=num;
this.name=name;
this.age=age;
}
publicStringgetNum(){
returnnum;
}
publicvoidsetNum(Stringnum){
this.num=num;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetAge(){
returnage;
}
publicvoidsetAge(intage){
this.age=age;
}
@Override
publicStringtoString(){//复写toString方法
return"学号:"+this.num+",姓名:"+this.name+",年龄:"+this.age;
}
}
Map<String,Student>staff=newHashMap<String,Student>();
Studentstudent1=newStudent("15H001","唐僧",40);//用有参构造方法创建一个学生
Studentstudent2=newStudent();//用无参构造方法创建一个学生
student2.setNum("15H002");
student2.setName("孙悟空");
student2.setAge(2000);
Studentstudent3=newStudent("15H003","猪八戒",1000);//用有参构造方法创建一个学生
staff.put(student1.getNum(),student1);//1号学生放入hashMap
staff.put(student2.getNum(),student2);//2号学生放入hashMap
staff.put(student3.getNum(),student3);//3号学生放入hashMap
System.out.println("3.根据key(学号)查找学号为15H003和15H004的学生,如果存在则输出其学号、姓名、年龄信息,否则输出相应的提示信息");
String[]nums={"15H003","15H004"};
for(inti=0;i<nums.length;i++){
System.out.println("查找学号:"+nums[i]);
Studentstudent=staff.get(nums[i]);
if(student!=null){//如果找到了
System.out.println("学号:"+student.getNum()+",姓名:"+student.getName()+",年龄:"+student.getAge());
}else{//如果没有找到
System.out.println("学号:"+nums[i]+"的学生没有擦寻到相关信息");
}
}
System.out.println("4.输出所有学生的信息");
for(Map.Entry<String,Student>entry:staff.entrySet()){
Stringkey=entry.getKey();
Studentvalue=entry.getValue();
System.out.println("学号:"+key+",姓名:"+value.getName()+",年龄:"+value.getAge());
}
System.out.println("5.移除唐僧");
staff.remove("15H001");//根据唐僧的学号移除唐僧
System.out.println("6.把HashMap变成数组,并输出每个数组元素的信息(学号、姓名、年龄)");
Object[]values=staff.values().toArray();
for(inti=0;i<values.length;i++){
Studentstudent=(Student)values[i];
System.out.println(student.toString());
}
}
}
⑵ java语句 for (HashMap<String, String> map : list)是什么意思
这是for循环的新用法
相当于for(int i=0;i<size;i++){
}对list进行遍历
⑶ JAVA HASHMAP 如何用
HASHMAP最好与实例联系起来..它主要存的是键与值的关系.
举个例子如你现在有一个学生类
import java.util.HashMap;
public class Student {
String name;
String sex;
public Student(String n,String s) {
name=n;
sex=s;
}
public String toString(){
return ("姓名:"+name+"\n"+"性别:"+sex+"\n");
}
public static void main(String [] args){
HashMap hm=new HashMap();
Student s1=new Student("张三","男");
Student s2=new Student("李四","男");
Student s3=new Student("小利","女");
//存值是根据学生编号存的学生信息
hm.put("001",s1);
hm.put("002",s2);
hm.put("003",s3);
//查找学生编号是001的学生
//因为hm.get("001")反回的是Object所以加上强转
Student s=(Student)hm.get("001");
System.out.println(s.toString());
//其余的类似
}
}
⑷ java使用HashMap实现,键保存字符串,值保存保存出现的次数
恩,给你实现,代码说话,直接粘贴在ide中就可以运行:
importjava.util.HashMap;
publicclassSaveDatas{
publicstaticvoidmain(String[]args){
String[]names={"chenchao","zhangsan","zhangsan","chenhao","lisi","wangwu","zhaoliu","xiaopqiang","haha","chenchao"};
saveinHashMap(names);
}
publicstaticvoidsaveinHashMap(String[]strs){
HashMap<String,Integer>datas=newHashMap<String,Integer>();
for(inti=0;i<strs.length;i++){
Stringkey=strs[i];
Integervalue=datas.get(key);
if(value==null){
datas.put(key,1);
}else{
datas.put(key,value+1);
}
}
printHashMap(datas);
}
publicstaticvoidprintHashMap(HashMap<String,Integer>hashMap){
for(Stringkey:hashMap.keySet()){
System.out.println("字符串:"+key+"出现的字数为:"+hashMap.get(key));
}
}
}
//运行结果:
字符串:zhaoliu出现的字数为:1
字符串:wangwu出现的字数为:1
字符串:xiaopqiang出现的字数为:1
字符串:lisi出现的字数为:1
字符串:haha出现的字数为:1
字符串:zhangsan出现的字数为:2
字符串:chenhao出现的字数为:1
字符串:chenchao出现的字数为:2
⑸ java中的HashMap
HASHMAP最好与实例联系起来,它主要存的是键与值的关系.
举个例子:
现在有一个学生类
import java.util.HashMap;
public class Student {
String name;
String sex;
public Student(String n,String s) {
name=n;
sex=s;
}
public String toString(){
return ("姓名:"+name+"\n"+"性别:"+sex+"\n");
}
public static void main(String [] args){
HashMap hm=new HashMap();
Student s1=new Student("张三","男");
Student s2=new Student("李四","男");
Student s3=new Student("小利","女");
//存值是根据学生编号存的学生信息
hm.put("001",s1);
hm.put("002",s2);
hm.put("003",s3);
//查找学生编号是001的学生
//因为hm.get("001")反回的是Object所以加上强转
Student s=(Student)hm.get("001");
System.out.println(s.toString());
//其余的类似
}
}
⑹ java中的hashmap获取参数
publicstaticbooleanisBlank(Stringstr){
intstrLen;
if(str==null||(strLen=str.length())==0){
returntrue;
}
for(inti=0;i<strLen;i++){
if((Character.isWhitespace(str.charAt(i))==false)){
returnfalse;
}
}
returntrue;
}
publicstaticbooleanisNotBlank(Stringstr){
return!StringUtils.isBlank(str);
}
你向Map里put值的时候,就已经有问题了。。。
检查你put那段代码
⑺ java中怎么遍历HashMap
可以遍历 map 的 entrySet 和 keySet entrySet 的如 Set entryseSet=map.entrySet(); for (Map.Entry entry:entryseSet) { System.out.println(entry.getKey()+","+entry.getValue()); } keySet的是 Set set = map.keySet(); for (String s:set).
⑻ java中怎么遍历HashMap
内publicstaticvoidmain(String[]args){
容Mapmap=newHashMap();
map.put("a","a");
map.put("b","b");
map.put("c","c");
//a
Iteratorit=map.keySet().iterator();
while(it.hasNext()){
Stringkey=(String)it.next();
Stringval=(String)map.get(key);
System.out.println("key="+key+";value="+val);
}
//b
Set<Entry>array=map.entrySet();
for(Entrye:array){
Stringkey=(String)e.getKey();
Stringval=(String)e.getValue();
System.out.println("key="+key+";value="+val);
}
}
⑼ 在java中,遍历hashmap用什么方法
public class MapTest {
public static void main(String[] args) {
//先来一个map
Map<String,String> map=new HashMap<String,String>(){{//匿名内部类初始化
put("breakfast", "早点");
put("lunch", "中饭");
put("supper", "晚点");
}};
//遍历方法1:利用keyset进行遍历,它的优点在于可以根据你所想要的key值得到你想要的 values,更具灵活性!!
Set<String> keySet=map.keySet();
for(Iterator<String> it=keySet.iterator();it.hasNext();){
String s=it.next();
System.out.println(map.get(s));
}
//遍历方法2:最常规的一种遍历方法,最常规就是最常用的,虽然不复杂,但很重要,这是我们最熟悉的,就不多说了!!
Collection<String> c = map.values();
for(Iterator<String> it=c.iterator();it.hasNext();){
System.out.println(it.next());
}
//遍历方法3:比较复杂的一种遍历在这里,用map对象的keyEnter方法,呵呵~~他很暴力哦,它的灵活性太强了,想得到什么就能得到什么
Set<Map.Entry<String, String>> set=map.entrySet();
for(Iterator<Map.Entry<String, String>> it=set.iterator();it.hasNext();){
Map.Entry<String, String> mapEnter=it.next();
System.out.println("key="+mapEnter.getKey()+",value="+mapEnter.getValue());
}
}
}
⑽ Java的HashMap与for-each循环共用
这样的写法是没有问题,肯定是别的地方的问题
import java.util.HashMap;
public class MapKeysetTest{
public static void main(String args[]){
HashMap<String, String> map = new HashMap<String, String>();
map.put("a", "aa");
map.put("b", "bb");
map.put("c", "cc");
for(String s:map.keySet()){
System.out.println(s);
}
}
}
这样是能正确打开出来 a\b\c的