Java 从ArrayList设置和获取字符串值<;对象>;

Java 从ArrayList设置和获取字符串值<;对象>;,java,Java,为对象谓词创建了get和set方法。要创建6个动词对象,请将它们放入数组列表中。然后为每个对象使用毛利字符串填充微调器 public class Verb { String maori; String english; public void setEnglish(String myText){ english = myText; } public String getEnglish(){ return english; } public void setMaori(Strin

为对象谓词创建了get和set方法。要创建6个动词对象,请将它们放入数组列表中。然后为每个对象使用毛利字符串填充微调器

public class Verb {
String maori;
String english;

public void setEnglish(String myText){
    english = myText;
}
public String getEnglish(){
    return english;
}
public void setMaori(String myText){
    maori = myText;
}
public String getMaori(){
    return maori;
}
}
来自主要活动

Oncreate()

之后如果我想重新获得这个值

String retrivedMaori = veryArrayList.get(patu.getMaori());
好的,那么最终动词类将有更多的字段。例如

    haere = new Verb();
    haere.setMaori("haere");
    haere.setiTAM("went");
    haere.setKua(("gone"));
    haere.setKeite("going");
    haere.setEana("going");
    haere.setKa("go");
    haere.setMe("go");
    verbArrayList.add(haere);
HashMap仍然是存储这个动词对象的最佳方法吗?它将有多个变量,我只想用毛利语版本填充微调器。

veryArrayList.get(patu.getMaori())
是错误的

veryArrayList.get(index)
本身就是“patu”的一个实例

veryArrayList.get(index.getMaori()正确。

代替

patu.setMaori=("patu");
patu.setEnglish="hit");
verbArrayList.add(patu);

代替

String retrivedMaori = veryArrayList.get(patu.getMaori());

隔离这一点:

String retrievedMaori = veryArrayList.get(patu.getMaori());
除了不正确之外,如果您已经有了
patu
,那么您甚至不需要该列表:

String retrievedMaori = patu.getMaori();
但我怀疑你在那一点上是否会有动词patu。您将只获得元素的索引。如果是这样,您可以这样做来检索
动词
对象,然后毛利人:

Verb v = veryArrayList.get(index);
String retrievedMaori = v.getMaori();

如果以后希望能够从任何语言检索动词,则可能需要使用映射:

HashMap<String,Verb> maoriToVerb = new HashMap<>();
HashMap<String,Verb> englishToVerb = new HashMap<>();

// create a verb
Verb patu = new Verb();
patu.setMaori("patu");
patu.setEnglish("hit");

// add it to both dictionaries
maoriToVerb.put(patu.getMaori(), patu);
englishToVerb.put(patu.getEnglish(), patu);

// how to get english from maori
String knownMaori = "patu";
Verb retrievedVerbFromMaori = maoriToVerb.get(knownMaori);
String retrievedEnglish = retrievedVerbFromMaori.getEnglish();

// how to get maori from english
String knownEnglish = "hit";
Verb retrievedVerbFromEnglish = englishToVerb.get(knownEnglish);
String retrievedMaori = retrievedVerbFromEnglish.getMaori();
HashMap maoritoff=newhashmap();
HashMap englishToVerb=新HashMap();
//创造一个动词
动词patu=新动词();
帕图·塞特毛利语(“帕图”);
patu.setEnglish(“hit”);
//将它添加到两个词典中
毛利语(patu.getMaori(),patu);
英语动词put(patu.getEnglish(),patu);
//如何从毛利人那里学习英语
字符串knownmari=“patu”;
动词retrievedVerbFromMaori=maoritoff.get(knownMori);
String retrievedEnglish=retrievedVerbFromMaori.getEnglish();
//如何从英语中获得毛利语
字符串knownEnglish=“hit”;
动词retrievedVerbFromEnglish=英语动词.get(知道英语);
String retrievedMaori=retrievedVerbFromEnglish.getMaori();
要填充微调器,可以通过以下方式获取毛利地图的关键点:

Set<String> maoriStrings = maoriToVerb.keySet();
Set maoriStrings=maoritoff.keySet();

veryArrayList.get(index.getMaori()
是使用
List
的正确方法。也许你应该试试HashMap,你的目标是什么?您是否希望能够使用英语检索毛利语动词,反之亦然?如果是这样的话,你可以使用2
HashMap
来代替这里的列表。如果有两个以上的变量,HashMap仍然是最好的方法吗?到目前为止,有8个不同的字符串变量。我仍然想知道,如果我有更多的字符串变量,而不仅仅是这两个值,这是否是最好的方法?我需要加上hit这个词的所有其他时态。e、 只要所有的值都不一样(没有两个不同的英语单词有相同的毛利语翻译),这就不会有问题。谢谢你,是的,代码有点像喷雾,祈祷成为hoest lol
Verb v = veryArrayList.get(index);
String retrievedMaori = v.getMaori();
HashMap<String,Verb> maoriToVerb = new HashMap<>();
HashMap<String,Verb> englishToVerb = new HashMap<>();

// create a verb
Verb patu = new Verb();
patu.setMaori("patu");
patu.setEnglish("hit");

// add it to both dictionaries
maoriToVerb.put(patu.getMaori(), patu);
englishToVerb.put(patu.getEnglish(), patu);

// how to get english from maori
String knownMaori = "patu";
Verb retrievedVerbFromMaori = maoriToVerb.get(knownMaori);
String retrievedEnglish = retrievedVerbFromMaori.getEnglish();

// how to get maori from english
String knownEnglish = "hit";
Verb retrievedVerbFromEnglish = englishToVerb.get(knownEnglish);
String retrievedMaori = retrievedVerbFromEnglish.getMaori();
Set<String> maoriStrings = maoriToVerb.keySet();