Javase day10_map

map

package com.neuedu.day10;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
import java.util.Set;

import org.junit.Test;

map exception

package com.neuedu.day10;

public class Position {
    //纬度
	private double lat;
	// 经度
	private double lon;

	public Position(double lat, double lon) {
		super();
		this.lat = lat;
		this.lon = lon;
	}

	public double getLat() {
		return lat;
	}

	public void setLat(double lat) {
		this.lat = lat;
	}

	public double getLon() {
		return lon;
	}

	public void setLon(double lon) {
		this.lon = lon;
	}

	public Position() {
		super();
	}

}
public class Mappp {
	/*
	 * 1.Map<key,value>
	 * 
	 */
	@Test
	public void myTest01() {
		Map<String, Position> map = new HashMap();
		Position p1 = new Position(41.48, 123.02);
		Position p2 = new Position(41.52, 123.58);
		// put方法是向map里放如果key相同覆盖
		map.put("18642047789", p1);
		map.put("15084106996", p2);
		// get(key)根据key查询对象
		Position p1_get = map.get("18642047789");
		// size()获取大小
		int len = map.size();
		System.out.println(p1_get.getLat());
		System.out.println(p1_get.getLon());

		// containskey containsValue 判断有没有
		if (map.containsKey("19304001139")) {
			System.out.println("有");
		} else {
			System.out.println("没有");
		}
		// 了解
		if (map.containsValue(p1)) {
			System.out.println("有");
		} else {
			System.out.println("没有");
		}
		// remove方法是移除
		map.remove("15084106996");
		System.out.println(map);
	}

map的遍历

@Test
	public void myTest02() {
	
		Map<String, Position> map = new HashMap();
		Position p1 = new Position(41.48, 123.02);
		Position p2 = new Position(41.52, 123.58);
		// put方法是向map里放如果key相同覆盖
		map.put("18642047789", p1);
		map.put("15084106996", p2);
		// 获取所有的key
		Set<String> keys = map.keySet();
		// 循环key,逐个获得value
		for (String key : keys) {
			System.out.println(key);
			Position p = map.get(key);
			System.out.println("取出的位置" + p.getLat() + " " + p.getLon());
			System.out.println("-----------");
		}
	}
@Test
	public void myTest03() {

		Map<String, Position> map = new HashMap();
		Position p1 = new Position(41.48, 123.02);
		Position p2 = new Position(41.52, 123.58);
		// put方法是向map里放如果key相同覆盖
		map.put("18642047789", p1);
		map.put("15084106996", p2);
		// entrySet
		Set<Entry<String, Position>> entrys = map.entrySet();
		for (Entry<String, Position> entry : entrys) {
			System.out.println(entry.getKey());
			Position p = entry.getValue();
			System.out.println("取出的位置" + p.getLat() + " " + p.getLon());
			System.out.println("-----------");
		}	
	}

编写一个程序,创建一个HashMap对象
用于存储银行储户的信息(其中储户的主要信息是id 姓名 余额)
另外,计算并显示其中某个储户的当前余额

package com.neuedu.day10;

public class Depositor {
	private String name;
	private double balance;

	public Depositor() {
		super();
	}

	public Depositor(String name, double balance) {
		super();
		this.name = name;
		this.balance = balance;
	}

	public String getName() {
		return name;
	}

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

	public double getBalance() {
		return balance;
	}

	public void setBalance(double balance) {
		this.balance = balance;
	}

}
@Test
	public void myTest04() {
		Map<String, Depositor> map = new HashMap();
		Depositor d1 = new Depositor("运1", 5512.24);
		Depositor d2 = new Depositor("运2", 552.12);
		Depositor d3 = new Depositor("运3", 5582.24);
		Depositor d4 = new Depositor("运4", 6412.24);
		map.put("123", d1);
		map.put("124", d2);
		map.put("125", d3);
		map.put("126", d4);
		Set<String> keys = map.keySet();
		for (String key : keys) {
			Depositor d = map.get(key);
			System.out.println(d.getBalance());
		}

	}
@Test
	public void myTest05() {
		Map<String, Depositor> map = new HashMap();
		Depositor d1 = new Depositor("运1", 5512.24);
		Depositor d2 = new Depositor("运2", 552.12);
		Depositor d3 = new Depositor("运3", 5582.24);
		Depositor d4 = new Depositor("运1", 6412.24);
		map.put("123", d1);
		map.put("124", d2);
		map.put("125", d3);
		map.put("126", d4);
		Scanner sc = new Scanner(System.in);
		String s = sc.next();
		double sum = 0;
		Set<String> keys = map.keySet();
		for (String key : keys) {
			Depositor d = map.get(key);
			if (d.getName().equals(s)) {
				sum = sum + d.getBalance();
			}
		}
		System.out.println(sum);
	}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值