当前位置:编程学习 > JAVA >>

ArrayList三维动态数组的赋值问题

做文本的相似度计算
有两篇文本,需要把它分成若干个段落,给每一个段落分成若干个句子,每一个句子再分成若干个词。现在分段、 分句、分词都已经搞定了,但是在考虑这个数据结构的时候却遇到了细节的问题。
首先想到定义一个三维数组,但后来想到因为在最后考虑分词结果后,会在做一些分析后会去掉一些词条,所以想定义成一个三维的动态数组,想到了ArrayList。
找了一段参考代码:
ArrayList<ArrayList<ArrayList<Integer>>> d3=new ArrayList<ArrayList<ArrayList<Integer>>>();
ArrayList<ArrayList<Integer>> e=new ArrayList<ArrayList<Integer>>();
ArrayList<Integer> d=new ArrayList<Integer>();
int m=2;
for(int j=0;j<100;j++){
d.add(0);
for(int i=0;i<100;i++){
e.add(d);
for(int k=0;k<m+1;k++){
3d.add(e);     
       }
}
 }
int n =3d.get(0).get(0).get(0);
System.out.println(n);
我想参考这段代码来实现我的功能,前面的定义不变:
ArrayList<ArrayList<ArrayList<String>>> d3=new ArrayList<ArrayList<ArrayList<String>>>();
ArrayList<ArrayList<String>> e=new ArrayList<ArrayList<String>>();
ArrayList<String> aa=new ArrayList<String>();
//分段
String rightAnswer="<p>文献是记录有知识的一切载体。具体地说,文献是将知识、信息用文字、符号、图像、音频等记录在一定的物质载体上的结合体。由此定义,我们可以看出,文献具有三个基本属性,即文献的知识性、记录性和物质性。它具有存贮知识、传递和交流信息的功能。</p><p>由于文献的种类繁多,各具特色,不同类型文献所记载的信息内容也各有侧重,因此,首先了解文献的级别、类型、特点等知识,对进一步做好文献检索工作将有很大的帮助。</p><p>文献综述是对某一方面的专题搜集大量情报资料后经综合分析而写成的一种学术论文,它是科学文献的一种。文献综述是反映当前某一领域中某分支科学或重要专题的最新进展、学术见解和建议,它往往能反映出有关问题的新动态、新趋势、新水平、新原理和新技术等。</p><p>文献检索指讲信息按一定的方式组织和存储起来,并根据用户的需要找出有关信息的过程,所以它的全称叫做“信息的存储与检索”,则是广义的信息检索。狭义的信息检索是从信息集合中找出所需要的信息的过程,相等于人们通常说的信息查询。</p>";
String right0=rightAnswer.replaceAll("<p>", "");//去除“<p>”
String[] right_paragraph=right0.split("</p>");//按照段落形成数组
for (int i=0;i<right_paragraph.length;i++){
aa.add(right_paragraph[i]);
}
分段后,aa存着分段的结果。
之后再用每一段调用分句的算法,问题就出现了:aa实际是最底层最小单元的一个元素,但我希望可以用类似aa.get(0).get(0).get(0)的方法去取第一段第一句的第一个分词结果。如果这样,aa应该定义为:
ArrayList<ArrayList<ArrayList<String>>> aa=new ArrayList<ArrayList<ArrayList<String>>>();
但首先要分段,分段的结果没办法赋值给这样的aa啊!
参考代码里的赋值韩意思是要先把底层的值都处理好,然后赋给第二层,最后由最高层的d3来add。但现在实际的问题,是要先分段、分句和分词,这个顺序不可能变的。
向各位路过的大侠求助啊!
ArrayList. 三维 存储 java --------------------编程问答-------------------- 辛苦了写这么多。 --------------------编程问答-------------------- 为什么不自己定义类封装这些呢,ArrayList能够满足你的需求你么? --------------------编程问答-------------------- 你说的自己定义类是定义文章、段落、句子和词条成类么?本来觉得不难的算法,实现起来好费劲。。。 --------------------编程问答--------------------
引用 1 楼 rui888 的回复:
辛苦了写这么多。

然后呢?木有神马建议么? --------------------编程问答--------------------
引用 2 楼 fortheother 的回复:
为什么不自己定义类封装这些呢,ArrayList能够满足你的需求你么?

你说的自己定义类是定义文章、段落、句子和词条成类么?本来觉得不难的算法,实现起来好费劲。。。
补充:Java ,  Web 开发
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,