【发布时间】:2013-05-07 09:10:21
【问题描述】:
假设我有两个字符串数组:
String[] first = new String[]{"12","23","44","67"};
String[] second= new String[]{"12","22","46","67"};
我搜索了一个像 PHP 的 array_diff 这样的函数,它会给我这两个数组的区别,如下所示:
{"23","44"}
此操作是否有内置函数,或者我应该创建一个 for 循环并检查差异?
【问题讨论】:
-
不,没有内置功能。你可以为此创建一个比较器。
-
与您的问题无关:您应该考虑使用
List<String> first = new ArrayList<String>(Arrays.asList("12", "23");而不是String[]。 -
@MichaWiedenmann
Arrays.asList返回一个List,为什么要将它传递给List构造函数?其次,根据用例,数组是完全可以接受的数据结构。 -
如果第二个列表是
"12","22","23","67",他的差异是什么? -
@JohnB 因为这取决于我小心使用“考虑”这个词。同样对于
Arrays.asList,返回的列表通过抛出异常来实现List接口的一些方法(例如add())。我不知道 OP 想要在什么情况下使用字符串,因此选择更灵活的版本。
标签: java arrays string-matching