我有一个文本,我会根据每个短语的单词数进行一些过滤。
我正在考虑使用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
答案 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())迭代它们,然后用它们做你想做的事情!