硬java数组情况

硬java数组情况,java,arrays,arraylist,Java,Arrays,Arraylist,我整天都在试图计算这个问题,但似乎我不知道该怎么做: List<ArrayList<Word>> words = new ArrayList<ArrayList<Word>>(); List words=new ArrayList(); 单词索引0有:定义3,计数1,主席2,第一年 词汇索引1有:定义2,构建1,计数1,第3轮 词汇索引2有:杯3,专利1,第2轮,第2年 我想做的是找出哪些单词属于其他数组,把它们的数字加在一起,然后用第一次

我整天都在试图计算这个问题,但似乎我不知道该怎么做:

List<ArrayList<Word>> words = new ArrayList<ArrayList<Word>>();
List words=new ArrayList();
  • 单词索引0有:定义3,计数1,主席2,第一年
  • 词汇索引1有:定义2,构建1,计数1,第3轮
  • 词汇索引2有:杯3,专利1,第2轮,第2年
我想做的是找出哪些单词属于其他数组,把它们的数字加在一起,然后用第一次出现的单词除以它们

例如:

  • 当索引=0且word=定义-->3/2+0时
  • 当索引=0且单词=countri-->1/1+0时
  • 当索引=1且word=定义-->2/3+0时
  • 当索引=1且word=四舍五入-->3/2+0时
  • 当index=2和word=cup-->3/0+0但必须执行3/1操作时,它不会“中断”
我很想建议,它通常用于跟踪同一对象的多次出现,就像
地图一样,但麻烦要小得多

 List<Multiset<String>> words;
 int index;

 Map<String, Double> ratios = Maps.newHashMap();
 for(Multiset.Entry<String> entry : words.get(index).entrySet()) {
   String word = entry.getElement();
   int wordCountIn0 = words.get(0).count(word);
   if (wordCountIn0 == 0) wordCountIn0 = 1;
   ratios.put(word, (double) entry.getCount() / wordCountIn0);
 }
列出单词;
整数指数;
映射比率=Maps.newHashMap();
for(Multiset.Entry:words.get(index.entrySet()){
String word=entry.getElement();
int-wordCountIn0=words.get(0).count(word);
如果(wordCountIn0==0)wordCountIn0=1;
rations.put(word,(double)entry.getCount()/wordCountIn0);
}

我对你的问题不是100%清楚,但据我所知,这应该行得通。

我找到了解决方法,虽然不是效率方面的最佳方法,但它确实行得通。无论如何,我追求的不是效率,而是让它“正常运转”


所以我要做的是循环第一个数组的大小,检查这个词是否属于任何数组。当我发现我存储了它的频率值。然后我再看一遍数组,除了我第一个找到的单词。我总结了所有的频率,最后我将第一个频率分为两个频率,但将其他频率进行了总结。

将您的数据封装在一个类中,该类在各种数据存储中维护所有相关数据


然后通过该对象进行查询。把它想象成一个数据库——你有核心数据,但你也有索引和视图之类的东西,它们根据你的使用要求以给定的方式呈现数据。

你的例子不清楚。“当index=0和word=defin-->3/2+0”我想我知道3从何而来,但为什么要除以2?为什么总是添加0?如果我这样做,我会使我的数据结构
ArrayList words=new ArrayList()也就是说,你的每个列表都会有一个映射,比如说
cup:1,defin:3
,这样就更容易找到单词,而不必进行字符串操作。我除以2是因为在第二个数组中,即当索引为1时,第三个数组的defin是2,ans是0。这就是0的来源,你能从中得到任意分数吗?映射到整数可能不够……你是说概率吗?概率总是最多为1,而3/2不是。或者可能性?嗯,我真的不明白如何设置单词和每个单词的频率。你能解释一下吗?谢谢如果您正在浏览文档并为每个单词添加一个匹配项,只需使用
multiset.add(word)
添加一个匹配项
word
。如果要将计数设置为精确值,请使用
multiset.setCount(word,count)
。multiset Javadoc位于,这可能会有所帮助。感谢您的回复,不过我找到了另一种方法。虽然不是最理想的,但它很有效。我会把答案贴在这里。我已经有了一个类词,它包含了单词的字符串和频率。我的数组列表是索引,所以我认为没有必要封装更多的索引,或者是?