将列表存储到数组列表中的字符串
Posted
技术标签:
【中文标题】将列表存储到数组列表中的字符串【英文标题】:Storing a list to a string from an arraylist 【发布时间】:2021-09-24 07:35:07 【问题描述】:我正在尝试显示来自 ArrayList
的所有字符串内容,但 ArrayList
的大小未知(使用 android Studio)。
比如:
fruit = new ArrayList<>()
veg = new ArrayList<>()
经过一些操作,现在故事ArrayList
包含了一些信息,例如:
fruit = "apple", "orange", "banana", "peach",...;
veg = "cucumber", "spinach", "pumpkin", "broccoli",...;
我不知道水果和蔬菜的ArrayList
在手术后多久了。但我知道水果和蔬菜的大小相同ArrayList
。我想将每个列表存储为:
fruitOne = fruit(0), fruitTwo = fruit(1), fruitThree = fruit(2),...
vegOne = veg(0), vegTwo = veg(1), vegThree = veg(2),...
然后我想将它们一起显示为一个字符串,这样我就可以有一个字符串,例如:
String myStore = "I am selling" + fruitOne + " and " + vegOne + "/n" + fruitTwo + " and " + vegTwo + "/n" + fruitThree + " and " + vegThree"...;
我觉得它需要使用for
循环通过调用fruit(0), fruit(1),...,fruit(i)
来一一拉出每个列表。但是如何独立存储fruit(0), fruit(1),...,fruit(i)
的每个列表,以便我可以将它们连接在一起成为 myStore 的一个字符串?
所有教程都在讨论println
或logd
,因此它可以打印fruit(i)
或veg(i)
每个for 循环,但不能真正将fruit(i)
或veg(i)
作为变量存储到可以独立使用。
感谢您的帮助!
【问题讨论】:
如果您想将它们存储为变量,也可以使用 LinkedHashMap。以水果为关键,以蔬菜为价值。它会给你更多的控制权。 但我仍然不知道我的地图中有多少水果和蔬菜。而后来我想调用它的时候,我想我仍然需要使用 for 循环。 【参考方案1】:我会使用StringBuilder
来构建字符串。
由于两个列表具有相同数量的元素,请使用简单的for
循环来迭代两个列表。
List<String> fruit = Arrays.asList("apple", "orange", "banana", "peach");
List<String> veg = Arrays.asList("cucumber", "spinach", "pumpkin", "broccoli");
StringBuilder sb = new StringBuilder();
sb.append("I am selling ");
int count = fruit.size();
for (int i = 0; i < count; i++)
sb.append(fruit.get(i));
sb.append(" and ");
sb.append(veg.get(i));
sb.append("\n");
System.out.println(sb);
运行上述代码会产生以下字符串:
I am selling apple and cucumber
orange and spinach
banana and pumpkin
peach and broccoli
【讨论】:
谢谢,我试试,不过看起来不错。 嗨,我有一个问题。我试过了,它有效。但现在的问题是,如果我运行代码两次,“for 循环”附加的字符串也会加倍。所以它会说我在卖苹果和黄瓜、橙子和菠菜、香蕉和南瓜、桃子和西兰花、苹果和黄瓜、橙子和菠菜、香蕉和南瓜、桃子和西兰花。我试图将 sb.setLength(0) 放在 println(sb) 之后。但它什么也没做。 我用 logd 检查了在“for 循环”之前,sb 被清除(或者因为代码再次运行 new StringBuilder(),或者因为我在非常结束。但是代码记住它在前一次运行中的“for循环”附加了什么。sb.setLength(0)确实清除了sb(包括来自“for循环”的信息),但是当它运行时“for loop”第二次,它也从上一次“for loop”运行中提取信息。非常感谢您的帮助,谢谢!以上是关于将列表存储到数组列表中的字符串的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Pandas Dataframe 中的字符串转换为列表或字符数组?
如何将 arrarylist 值存储到 sqlitedb 中?
当检查可以是字符串数组中的一个或多个项目时,如何将列表视图项目添加到数组中?