如何在Java数组中使用键字段?
我试图用Java在数组中使用一个键字段,但我不知道从哪里开始。我的程序应该是,用户输入一个名称,这将是唯一的标识符,所有这些信息将显示与名称有关的一种迷你谷歌。我有两个类,一个是抽象类,另一个是主方法类。如果有人能帮我的话,那就太好了 这是我的班级如何在Java数组中使用键字段?,java,arrays,key,field,Java,Arrays,Key,Field,我试图用Java在数组中使用一个键字段,但我不知道从哪里开始。我的程序应该是,用户输入一个名称,这将是唯一的标识符,所有这些信息将显示与名称有关的一种迷你谷歌。我有两个类,一个是抽象类,另一个是主方法类。如果有人能帮我的话,那就太好了 这是我的班级 import java.util.HashMap; public class DataBase { private String name; private int year; private String status; private
import java.util.HashMap;
public class DataBase {
private String name;
private int year;
private String status;
private String habitat;
private String lifespan;
public DataBase() {
}
HashMap list=new HashMap();
public DataBase(String name, int year, String status, String habitat, String lifespan) {
this.name = name;
this.year = year;
this.status = status;
this.habitat = habitat;
this.lifespan = lifespan;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getHabitat() {
return habitat;
}
public void setHabitat(String habitat) {
this.habitat = habitat;
}
public String getLifeSpan() {
return lifespan;
}
public void setLifeSpan(String lifespan) {
this.lifespan = lifespan;
}
public String toString()
{
String result = "";
result += "\nName: "+ getName() + "\nYear: "+getYear()+ "\nStatus: "+getStatus()+ "\nHabitat: "+getHabitat()+"\nLifeSpan: "+getLifeSpan();
return result;
}
}
这是我的主要方法类
import java.util.HashMap;
import java.util.Scanner;
public class DB
{
public static void main(String[] args)
{
Scanner in = new Scanner (System.in);
String fName;
System.out.print("Enter Name:");
fName=in.next();
String name;
name=fName+" ";
System.out.println(name);
DataBase turtle1 = new DataBase("Diamondback terrapin", 1793, "Near Threatened","East Coast of US","8 years");
DataBase turtle2 = new DataBase("Galápagos tortoise", 1535, "Vulnerable"," Galápagos Islands","At least 100 years");
DataBase turtle3 = new DataBase("West African mud turtle", 1812, "Least Concern","West and Central Africa","25 years");
DataBase turtle4 = new DataBase("Black softshell turtle", 1875, "Extinct in the Wild","South Asia","Unknown");
DataBase turtle5 = new DataBase("Radiated tortoise", 1802, "Critically Endangered","Southern Madagascar","At least 150 years");
DataBase turtle6 = new DataBase("Painted terrapin", 1844, "Critically Endangered","East Asia","Unknown");
DataBase turtle7 = new DataBase("Philippine pond turtle", 1920, "Critically Endangered ","Philippines","Unknown");
DataBase turtle8 = new DataBase("Flattened musk turtle", 1955, "Critically Endangered","Southern US","20-50 years");
DataBase turtle9 = new DataBase("McCord's box turtle", 1988, "Critically Endangered","China","Around 50 years");
DataBase turtle10 = new DataBase("Leatherback sea turtle", 1761, "Vulnerable","Atlantic and Pacfic Oceans","Around 30 years");
System.out.println(turtle1);
HashMap<String,DataBase> turtles = new HashMap<>();
turtles.put("Diamondback terrapin", new DataBase("Diamondback terrapin", 1793, "Near Threatened","East Coast of US","8 years"));
turtles.put("Galapagos tortoise", new DataBase("Galapagos tortoise", 1535, "Vulnerable"," Galapagos Islands","At least 100 years"));
turtles.put("West African mud turtle", new DataBase("West African mud turtle", 1812, "Least Concern","West and Central Africa","25 years"));
turtles.put("Black softshell turtle", new DataBase("Black softshell turtle", 1875, "Extinct in the Wild","South Asia","Unknown"));
turtles.put("Radiated tortoise", new DataBase("Radiated tortoise", 1802, "Critically Endangered","Southern Madagascar","At least 150 years"));
turtles.put("Painted terrapin", new DataBase("Painted terrapin", 1844, "Critically Endangered","East Asia","Unknown"));
turtles.put("Philippine pond turtle", new DataBase("Philippine pond turtle", 1920, "Critically Endangered ","Philippines","Unknown"));
turtles.put("Flattened musk turtle", new DataBase("Flattened musk turtle", 1955, "Critically Endangered","Southern US","20-50 years"));
turtles.put("McCord's box turtle", new DataBase("McCord's box turtle", 1988, "Critically Endangered","China","Around 50 years"));
turtles.put("Leatherback sea turtle", new DataBase("Leatherback sea turtle", 1761, "Vulnerable","Atlantic and Pacfic Oceans","Around 30 years"));
DataBase database = turtles.get("Diamondback terrapin");
DataBase databas = turtles.get("Galapagos tortoise");
DataBase databse = turtles.get("West African mud turtle");
DataBase databa = turtles.get("Black softshell turtle");
DataBase dataase = turtles.get("Radiated tortoise");
DataBase datab = turtles.get("Painted terrapin");
DataBase datase = turtles.get("Philippine pond turtle");
DataBase datae = turtles.get("Flattened musk turtle");
DataBase dataae = turtles.get("McCord's box turtle");
DataBase datbase = turtles.get("Leatherback sea turtle");
System.out.println(turtles.get(name));
}
}
import java.util.HashMap;
导入java.util.Scanner;
公共类数据库
{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(系统输入);
字符串fName;
系统输出打印(“输入名称:”);
fName=in.next();
字符串名;
name=fName+“”;
System.out.println(名称);
数据库turtle1=新数据库(“响尾蛇水龟”,1793年,“近威胁”,“美国东海岸”,“8年”);
数据库turtle2=新数据库(“加拉帕戈斯乌龟”,1535年,“脆弱”,“加拉帕戈斯群岛”,“至少100年”);
数据库turtle3=新数据库(“西非泥龟”,1812年,“最少关注”,“西非和中非”,“25年”);
数据库turtle4=新数据库(“黑色软壳龟”,1875年,“野外灭绝”,“南亚”,“未知”);
数据库turtle5=新数据库(“辐射乌龟”,1802年,“极度濒危”,“马达加斯加南部”,“至少150年”);
数据库turtle6=新数据库(“彩绘水龟”,1844年,“极度濒危”,“东亚”,“未知”);
数据库turtle7=新数据库(“菲律宾池龟”,1920年,“极度濒危”,“菲律宾”,“未知”);
数据库turtle8=新数据库(“扁平麝香龟”,1955年,“极度濒危”,“美国南部”,“20-50年”);
数据库turtle9=新数据库(“麦考德箱龟”,1988年,“极度濒危”,“中国”,“大约50年”);
数据库turtle10=新数据库(“棱皮海龟”,1761年,“脆弱”,“大西洋和太平洋”,“大约30年”);
系统输出打印LN(turtle1);
HashMap turtles=新HashMap();
海龟。put(“响尾蛇水龟”,新数据库(“响尾蛇水龟”,1793年,“近威胁”,“美国东海岸”,“8年”);
海龟。put(“加拉帕戈斯乌龟”,新数据库(“加拉帕戈斯乌龟”,1535年,“脆弱”,“加拉帕戈斯群岛”,“至少100年”);
海龟。put(“西非泥龟”,新数据库(“西非泥龟”,1812年,“最不受关注”,“西非和中非”,“25年”);
乌龟。put(“黑软壳龟”,新数据库(“黑软壳龟”,1875年,“野外灭绝”,“南亚”,“未知”);
海龟。put(“辐射龟”,新数据库(“辐射龟”,1802年,“极度濒危”,“马达加斯加南部”,“至少150年”);
乌龟。put(“彩绘水龟”,新数据库(“彩绘水龟”,1844年,“极度濒危”,“东亚”,“未知”);
海龟。put(“菲律宾池龟”,新数据库(“菲律宾池龟”,1920年,“极度濒危”,“菲律宾”,“未知”);
海龟。put(“扁平麝香龟”,新数据库(“扁平麝香龟”,1955年,“极度濒危”,“美国南部”,“20-50年”);
海龟。put(“麦考德箱龟”,新数据库(“麦考德箱龟”,1988年,“极度濒危”,“中国”,“大约50年”);
海龟。put(“棱皮海龟”,新数据库(“棱皮海龟”,1761年,“脆弱”,“大西洋和太平洋”,“大约30年”);
数据库=turtles.get(“响尾蛇龟”);
数据库DataBase=turtles.get(“加拉帕戈斯乌龟”);
数据库DataBase=turtles.get(“西非泥龟”);
数据库databa=turtles.get(“黑色软壳龟”);
数据库dataase=turtles.get(“辐射乌龟”);
数据库datab=turtles.get(“绘制的水龟”);
数据库datase=turtles.get(“菲律宾池塘龟”);
数据库datae=turtles.get(“扁平麝香龟”);
数据库dataae=turtles.get(“麦考德箱龟”);
数据库datbase=turtles.get(“棱皮海龟”);
System.out.println(turtles.get(name));
}
}
更新:
我可以打印出姓名和信息,但我不知道如何将两者连接起来。键用于地图 尝试用
java.util.HashMap
替换ArrayList
HashMap<String,DataBase> turtles = new HashMap<>();
turtles.put("Diamondback terrapin", new DataBase("Diamondback terrapin", 1793, "Near Threatened","East Coast of US","8 years"));
...
DataBase database = turtles.get("Diamondback terrapin");
HashMap-turtles=newhashmap();
海龟。put(“响尾蛇水龟”,新数据库(“响尾蛇水龟”,1793年,“近威胁”,“美国东海岸”,“8年”);
...
数据库=turtles.get(“响尾蛇龟”);
我认为您试图做的是以下几点:
import java.util.HashMap;
public class DataEntry {
private String name;
private int year;
public DataEntry(String name, int year) {
this.name = name;
this.year = year;
}
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getYear() { return year;}
public void setYear(int year) { this.year = year;}
@Override
public String toString()
{
return "\nName: "+ getName() + "\nYear: "+getYear();
}
public static void main(String[] args)
{
//create 2 entries
String name1 = "Diamondback terrapin", name2 = "Galápagos tortoise";
DataEntry turtle1 = new DataEntry(name1, 1793);
DataEntry turtle2 = new DataEntry(name2, 1535);
//create collection and store entries
DataCollection dc = new DataCollection();
dc.addEntry(turtle1);
dc.addEntry(turtle2);
//retrieve an entry
System.out.println(dc.getEntry(name1));
}
}
class DataCollection{
HashMap<String, DataEntry> list;
DataCollection(){ list = new HashMap<>(); }
void addEntry(DataEntry entry) {
//todo verify input
list.put(entry.getName(), entry);
}
DataEntry getEntry(String name) {
//todo verify input
return list.get(name);
}
//todo add more methods as needed such as remove, get all entries
}
import java.util.HashMap;
公共类数据项{
私有字符串名称;
私人国际年;
公共数据项(字符串名称,整数年){
this.name=名称;
今年=年;
}
公共字符串getName(){return name;}
public void setName(字符串名){this.name=name;}
public int getYear(){return year;}
公共无效setYear(int year){this.year=year;}
@凌驾
公共字符串toString()
{
返回“\nName:+getName()+”\nYear:+getYear();
}
公共静态void main(字符串[]args)
{
//创建2个条目
字符串name1=“响尾蛇龟”,name2=“加拉帕戈斯乌龟”;
DataEntry turtle1=新的DataEntry(名称1793);
DataEntry turtle2=新的DataEntry(名称2,1535);
//创建集合和存储项
DataCollection dc=新的DataCollection();
dc.附录(turtle1);
dc.addEntry(turtle2);
//检索条目
System.out.println(dc.getEntry(name1));
}
}
类数据收集{
HashMap列表;
DataCollection(){list=new HashMap();}
无效补遗(数据输入){
//todo验证输入
list.put(entry.getName(),entry);
}
DataEntry getEntry(字符串