我们如何一起使用Arrays和ArrayLists(如果可能的话)?ArrayLists和Arrays如何在Java中相互交互?
我想储存一些字符串到一个ArrayList,后来拉出来,它们解析成字符串数组,这些数组存储在一个ArrayList,并能够检索以后的ArrayList中的数据...
看看这段代码,随时带我分开做蹩脚的编码;自从我使用Java以来已经有一段时间了。
public static void parseData() throws IOException
{
//for reference, nonParsedData is ArrayList<String>
// while parsedData is ArrayList<String[]>
String line = new String();
String[] tempContainer = new String[7];
Scanner keyboard = new Scanner(System.in);
for (int x = 0; x < nonParsedData.size(); x++)
{
line = nonParsedData.get(x);
//filling the temporary container to place into the ArrayList of arrays
tempContainer[0] = line.substring(0,1); //Data piece 1
tempContainer[1] = line.substring(1,3); //Data piece 2
tempContainer[2] = line.substring(3,7); //Data piece 3
tempContainer[3] = line.substring(7,8); //Data piece 4
tempContainer[4] = line.substring(8,9); //Data piece 5
tempContainer[5] = line.substring(9,10); //Data piece 6
tempContainer[6] = line.substring(10,(line.length() - 1)); //Data piece 7
parsedData.add(tempContainer);
}
}
所以在前面,我已经倾倒了一些外部文件到nonParsedData
。这是一串字符串。没什么大不了。我把这些字符串,读取它们,把它们放入数组中。 Hunky dory。这工作正常。
这是检索过程,这使我中风。三次 -
public static void fetchAndPrint() throws IOException
{
String[] tempContainer = new String[7];
for(int x = 0; x < parsedData.size(); x++)
{
tempContainer = parsedData.get(x); //this should be assigning my stored array to
//the tempContainer array (I think)
//let's try deepToString (that didn't work)
//System.out.println((parsedData.get(x)).toString()); //just a debugging check
System.out.println(x);
System.out.println(tempContainer[0] + " " + tempContainer[1] + " "
+ tempContainer[2] + " " + tempContainer[3] + " "
+ tempContainer[4] + " " + tempContainer[5] + " "
+ tempContainer[6] + " ");
}
}
我这样做之后,只有我一个输出从最初ArrayList<String[]>
显示出来!我在循环中错过了什么吗?当我真的没有这个功能时,我是否正在实施ArrayList
的阵列?我不正确地给数组赋值? ArrayList
甚至会给我一个实际的数组 - 或者它只是一个像{1,2,3等}的列表?这些事情甚至不同吗?
最后,我知道这可以使用数据库语言来实现,但我们假设我想坚持使用Java。
http://stackoverflow.com/questions/9929321/converting-arraylist-to-array-in-java – EMM 2014-10-29 15:58:32
上述帖子不是我所需要的,但谢谢。使用字符串从ArrayList中创建数组没有问题,它是一旦存储的数组将检索到有问题的数组。 – 2014-10-29 16:43:57