【发布时间】:2017-06-06 10:11:06
【问题描述】:
我有一个包含字符串的简单 LinkedList。
LinkedList<String> list = new LinkedList<String>();
list.add("A, B, C, D");
list.add("R");
list.add("A");
list.add("C, D");
所以,我们的 LinkedList 是:[ "A, B, C, D", "R", "A" ,"C, D" ]
如您所见,"A" 和 "C, D" 已包含在 "A,B,C,D" 中。
删除包含的字符串最有效的方法是什么?
【问题讨论】:
-
为什么不使用
Set? -
Set 不起作用,对于那种逻辑你应该编写自己的实现。
-
您的数据结构不适合此目的。考虑将值存储为 Set 而不是 CSV 字符串。
-
为什么要将逗号分隔的字符串存储在列表中。你用这些做什么,这使它成为最好的代表?
-
究竟应该是什么结果?
"C, D"应该被省略吗? 是否可以将字符串"A, B, C, D"改为"A, B"?最后但并非最不重要的一点:当应该添加"R, X"时会发生什么(R已经存在,但不是X)?
标签: java string linked-list