JavaSE基础---Map

Posted 猪八戒1.0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaSE基础---Map相关的知识,希望对你有一定的参考价值。

一:介绍

常用类:

 

方法可查jdk

二:案例一

 测试:



import java.util.*;

public class DictionaryDemo 

    public static void main(String[] args) 
        Map<String,String> dictionary=new HashMap();
        Scanner sc=new Scanner(System.in);
        //假设三次
        int i=0;
        while (i<3)
            i++;
            System.out.println("请输入单词");
            String key=sc.next();
            System.out.println("请输入意思");
            String value=sc.next();
            dictionary.put(key,value);
        
        //1.通过迭代器输出
        System.out.println("迭代器输出:");
        Iterator <String> it=dictionary.values().iterator();
        while (it.hasNext())
            System.out.print(it.next()+" ");
        

        System.out.println("\\nentrySet方法输出:");
        //由于Iterator 只能传一个参数,并不能得到两个值
        //2.通过entrySet方法输出
        Set<Map.Entry<String,String>> entrySet=dictionary.entrySet();
        //使用增强型for循环
        for (Map.Entry<String,String> entry:entrySet)
            System.out.print(entry.getKey()+"-");
            System.out.print(entry.getValue());
            System.out.println();
        

        //查找
        System.out.println("请输入要查找的单词");
        boolean flag=true;
        String strSearch=sc.next();
        Set<String> keyset=dictionary.keySet();
        for (String key:keyset)
            if(strSearch.equals(key))
                flag=false;
                System.out.println("找到了"+key+"-"+dictionary.get(key));
                break;
            
        
        if (flag)
            System.out.println(strSearch+"没有找到");
        
    

运行结果:

 三:案例二

 

 测试:

Good类


public class Goods 
	private String id;//商品编号
	private String name;//商品名称
	private double price;//商品价格
	//构造方法
	public Goods(String id,String name,double price)
		this.id=id;
		this.name=name;
		this.price=price;
	

	//get和set方法
	public String getId() 
		return id;
	

	public void setId(String id) 
		this.id = id;
	

	public String getName() 
		return name;
	

	public void setName(String name) 
		this.name = name;
	

	public double getPrice() 
		return price;
	

	public void setPrice(double price) 
		this.price = price;
	
	public String toString()
		return "商品编号:"+id+",商品名称:"+name+",商品价格:"+price;
	

 GoodTest:



import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Scanner;
import java.util.Set;

public class GoodsTest 

	public static void main(String[] args) 

		Scanner console = new Scanner(System.in);
		// 定义HashMap对象
		Map<String, Goods> goodsMap = new HashMap<String, Goods>();
		System.out.println("请输入三条商品信息:");
		int i = 0;
		while (i < 3) 
			System.out.println("请输入第" + (i + 1) + "条商品信息:");
			System.out.println("请输入商品编号:");
			String goodsId = console.next();
			// 判断商品编号id是否存在
			if (goodsMap.containsKey(goodsId)) 
				System.out.println("该商品编号已经存在!请重新输入!");
				continue;
			
			System.out.println("请输入商品名称:");
			String goodsName = console.next();
			System.out.println("请输入商品价格:");
			double goodsPrice = 0;
			try 
				goodsPrice = console.nextDouble();
			 catch (java.util.InputMismatchException e) 
				System.out.println("商品价格的格式不正确,请输入数值型数据!");
				//计算机会将之前错误格式的goodsPrice值给goodsId,故再输入即可解决
				console.next();
				continue;
			
			Goods goods = new Goods(goodsId, goodsName, goodsPrice);
			// 将商品信息添加到HashMap中
			goodsMap.put(goodsId, goods);
			i++;
		
		// 遍历Map,输出商品信息
		System.out.println("商品的全部信息为:");
		Iterator<Goods> itGoods = goodsMap.values().iterator();
		while (itGoods.hasNext()) 
			System.out.println(itGoods.next());
		
				
	


运行结果:

以上是关于JavaSE基础---Map的主要内容,如果未能解决你的问题,请参考以下文章

电商商品系统存储技术简述

用servlet+jsp实现添加商品信息

map&area标签实现图片热点区域点击

map&area标签实现图片热点区域点击

基于图像信息的搭配商品推荐

Python基础项目:超市商品销售管理系统