Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从Arraylist获取字符串?_Java_String_Sqlite_Map_Arraylist - Fatal编程技术网

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
of
HashMap
of
String
键和值,因此,
Globals.mylist.get(i)
将返回
HashMap
of
String
键和值。这些都在代码中—只是说;)做了一个很好的更改;)