【问题标题】:Java split string array by parameterJava按参数拆分字符串数组
【发布时间】:2017-04-16 18:47:55
【问题描述】:

假设我们有一个这样的字符串数组:

{abc,abc,abc,def,def,ghi}

有没有办法让每个可能性只包含一次的字符串数组?

 e.g. {abc,def,ghi}

我正在考虑迭代一个数组,预先排序,并检查前面的元素是否等于下一个元素。如果不将其添加到列表中,并在必要时稍后将其转换为数组。

但是有没有更简单的解决方案?

顺便说一句,由于我是为 android 编程,我不能使用 Java 8 的任何功能。

【问题讨论】:

标签: java android arrays string


【解决方案1】:

只需将数组复制到Set

Set<String> noDupes = new LinkedHashSet<>(Arrays.asList(yourArray));

根据定义,Sets 不包含重复项。您可以使用HashSet(或任何其他Set 实现)而不是LinkedHashSet,但LinkedHashSet 保留元素首次出现在数组中的顺序。

【讨论】:

    【解决方案2】:

    当然:迭代数组并将值推送到集合中。

    使用 LinkedHashSet 时,您甚至可以保持初始顺序。

    或者,无需手动循环:

    Set<String> = new LinkedHashSet<>(Arrays.asList(yourArray)) ;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-17
      • 2013-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多