ary*_*naq 6 java string compare
参加OOP Java课程,因为我对这门语言完全陌生,而且还没有意识到它提供的许多工具,我发现自己在黑暗中摸索着解决简单的问题,我可以对这些问题进行硬编码,但我觉得这是一种简单易行的方法java.util.
假设我有一个字符串列表
String[] stringOne = {"a","b","c", "potato"};
String[] stringTwo = {"potato", "13"};
Run Code Online (Sandbox Code Playgroud)
如何查看任何给定项目stringTwo发生的次数stringOne?或相反亦然.每当我遇到这个问题时,我宁愿不进行双循环(或者做一个双循环方法).
现在我逃避使用Collections.frequency()并且只循环一次,但有更简单的方法吗?谢谢.
假设我有一个字符串列表
Run Code Online (Sandbox Code Playgroud)String[] stringOne = {"a","b","c", "potato"}; String[] stringTwo = {"potato", "13"};
这些是“数组”,而不是“列表”。 Arrays.asList(stringOne)是 引用的数组的列表包装器stringOne。
如何检查 stringTwo 中的任何给定项目在 stringOne 中出现了多少次?
new HashSet(Arrays.asList(stringOne)).retainAll(Arrays.asList(stringTwo))
Run Code Online (Sandbox Code Playgroud)
将为您提供两者中的元素集。
Bag使用 a而不是 set 的类似方法将为您提供计数。
retainAll(Collection coll)删除包中不属于给定集合的任何成员,尊重基数。也就是说,如果给定的集合 coll 包含给定对象的 n 个副本,并且 bag 有 m > n 个副本,则从 bag 中删除 m - n 个副本。此外,如果 e 是包中的对象 but
!coll.contains(e),则删除e和 它的任何副本。
集合类中使用的等价概念是定义按Object.equals(object)字典java.lang.String顺序比较的覆盖的概念。
如果您需要将结果返回到数组中,请尝试myBag.toArray(new String[0])将内容转储到字符串中。该参数在文档中进行了解释,但简而言之,它是一个围绕 Java 的损坏数组差异的类型提示。
| 归档时间: |
|
| 查看次数: |
221 次 |
| 最近记录: |