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);
}