有一个Collection,我可以持有一个String和一个带有重复值的Integer吗?

时间:2011-08-16 06:35:21

标签: java collections map

我有一个文本,我会根据每个短语的单词数进行一些过滤。

我正在考虑使用Map,在键中我放了短语,在值中,单词的数量,在Map上迭代并删除比先前指定的值小的行。

  • 有一个地图,我可以在哪里重复输入(短语和数量)?
  • 我可以按照放置元素的顺序从地图中检索吗?这是因为是文本,所以短语的顺序很重要。

示例

原始文字

My name is Renato | 4
Today is Tuesday | 3
I live in Brazil | 4
My name is Renato | 4
20 years | 2
StackOverflow is a fantastic website | 5

过滤删除少于4个字的短语

最终文字

My name is Renato
I live in Brazil
My name is Renato
StackOverflow is a fantastic website

3 个答案:

答案 0 :(得分:3)

  

有一张地图,我可以在哪里放置重复条目(短语和数量)?

为什么没有

Map<Integer, List<String>> wordCountToStringsMap
  

我可以按照我放置元素的顺序从地图中检索吗?这是因为是文本,所以短语的顺序很重要。

答案 1 :(得分:1)

我认为你可以使用LinkedHashMap.It保留你输入的顺序

Map<String,Integer> map=new LinkedHashMap<String,Integer>();

然后您可以添加并执行您的操作。

答案 2 :(得分:0)

Map界面看起来就像你需要的那样。具体实现应该是LinkedHashMap,因为您希望能够按插入顺序检索元素。

所以你会有

Map <String, Integer> myMap = new LinkedHashMap <String, Integer> ();

然后只需添加行,用for(String短语:myMap.keys())迭代它们,然后用它们做你想做的事情!