繁体   English   中英

从ArrayList设置和获取字符串值<Object>

[英]Setting and Getting String Values from an ArrayList<Object>

为对象动词创建了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;
}
}

来自MainActivity。

在OnCreate()

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

然后,如果我想恢复该值

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

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

并代替

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

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

隔离此:

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

除了不正确之外,如果您已经拥有patu ,那么您甚至不需要该列表:

String retrievedMaori = patu.getMaori();

但我怀疑此时您是否将拥有Verb patu对象。 您将只具有该元素的索引。 如果是这样,则可以执行以下操作来检索Verb对象,然后获取毛利语:

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

如果以后您希望能够从任何一种语言中检索动词,则可能需要使用maps:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM