Java 如何从Arraylist获取字符串?
我有一个Java 如何从Arraylist获取字符串?,java,string,sqlite,map,arraylist,Java,String,Sqlite,Map,Arraylist,我有一个Globals.mylist=new arraylistmylist和hashmap map1,在我将它们插入数据库之前保持我的产品顺序。这部分是在我将产品订单插入Globals.mylist时完成的: if (Globals.mylist == null) { Globals.mylist = new ArrayList<HashMap<String, String>>(); } id = bun.getLong("id"); Id=String.va
Globals.mylist=new arraylist
mylist和hashmap map1,在我将它们插入数据库之前保持我的产品顺序。这部分是在我将产品订单插入Globals.mylist时完成的:
if (Globals.mylist == null) {
Globals.mylist = new ArrayList<HashMap<String, String>>();
}
id = bun.getLong("id");
Id=String.valueOf(id);
brand = bun.getString("brand");
type = bun.getString("type");
qty = bun.getString("qty");
if (Globals.mylist.size() == 0) {
map1.put("one", Id);
map1.put("two", brand);
map1.put("three", type);
map1.put("four", qty);
Globals.mylist.add(map1);
} else {
int j = Globals.mylist.size();
map1.put("one", Id);
map1.put("two", brand);
map1.put("three", type);
map1.put("four", qty);
Globals.mylist.add(j,map1);
}
if(Globals.mylist==null){
Globals.mylist=新的ArrayList();
}
id=bun.getLong(“id”);
Id=字符串。valueOf(Id);
品牌=bun.getString(“品牌”);
type=bun.getString(“type”);
数量=bun.getString(“数量”);
if(Globals.mylist.size()==0){
map1.put(“一”,Id);
地图1.放置(“两个”,品牌);
map1.put(“三”,类型);
图1.放置(“四”,数量);
Globals.mylist.add(map1);
}否则{
int j=Globals.mylist.size();
map1.put(“一”,Id);
地图1.放置(“两个”,品牌);
map1.put(“三”,类型);
图1.放置(“四”,数量);
Globals.mylist.add(j,map1);
}
这一部分是当我试图从Globals.mylist获取字符串到sqlite时
for (int i=0; i<Globals.mylist.size();i++) {
map1=Globals.mylist.get(i);
map1.get(Id);
map1.get(qty);
orderdtl = dataSource.createorderdtl(orderid, Id, qty);
}
for(int i=0;i使用LinkedHashMap会简单得多,LinkedHashMap被设计为能够以插入顺序进行迭代。首先,我认为我们没有足够的代码。但是.get(int)函数返回一个对象,它实际上不做任何事情,所以您需要执行类似System.out.println(map1.get(Id))的操作.要从映射中检索值,需要它的键
在前面的代码中,您使用
map1.put("one", Id);
map1.put("two", brand);
map1.put("three", type);
map1.put("four", qty);
这将为您提供键。要检索值,您需要使用适当的键,例如
map1=Globals.mylist.get(i);
String id = map1.get("one");
String qty = map1.get("four");
您可能希望查看更多详细信息您的问题是,您试图使用地图的值
获取地图的值,而这不是地图的实现方式
map1.get(Id);
map1.get(qty);
不是正确的方法。
您需要在键上调用Map#get
,该键的值
需要检索。您将获得类型字符串
的值,正如您声明的那样,因此在相同类型的变量中检索它
String Id = map1.get("one");
String qty = map1.get("four");
调用它的正确方式。在向映射添加内容时,使用键值对
map.put(键、值)
当你想得到字符串时,你应该使用
map.get(key);你在用jython吗?map1.get(“一”)
,map1.get(“两”)
,map1.get(“三”)
map1.get(“四”)
?@ElliottFrisch我没有使用jython@WardaLyn创建一个类来存储您的id、品牌、类型和数量。您几乎肯定不想要Globals
任何东西,这是一个python习语,在您的代码中仍然让我感到困惑。为什么Globals
?Globals.java是我放置mylist和其他文件时的类。Globals.mylist
是一个类>ArrayList
ofHashMap
ofString
键和值,因此,Globals.mylist.get(i)
将返回HashMap
ofString
键和值。这些都在代码中—只是说;)做了一个很好的更改;)