微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用java合并两个String数组对象

如何解决使用java合并两个String数组对象

public class MergeNames {
    public static void main(String[] args) {
        String[] names1 = new String[] { "Ava","emma","Olivia" };
        String[] names2 = new String[] { "Olivia","Sophia","emma" };
        int na1 = names1.length;
        int na2 = names2.length;
        String [] result = new String[na1 + na2];
        System.arraycopy(names1,result,na1);
        System.arraycopy(names2,na1,na2);
        System.out.println(Arrays.toString(result));
    }
}

我创建了两个数组对象字符串并分配相同的字符串值。之后需要将两个String数组对象合并成另一个String数组对象。

注意:没有重复

我想要像这样的输出 [“艾娃”、“艾玛”、“奥利维亚”、“索菲亚”、“艾玛”]

解决方法

您可以使用 Java Stream APIStream.of()。请参阅示例以更好地理解。

参考代码

public class Main {
    public static <T> Object[] mergeArray(T[] arr1,T[] arr2)   
    {   
        return Stream.of(arr1,arr2).flatMap(Stream::of).distinct().toArray();   
    }   
    public static void main(String[] args) {
        String[] names1 = new String[] { "Ava","Emma","Olivia" };
        String[] names2 = new String[] { "Olivia","Sophia","Emma" };
        
        Object [] result = mergeArray(names1,names2);
        
        System.out.println(Arrays.toString(result));
    }
}

输出

[Ava,Emma,Olivia,Sophia]
,

你犯了一个小错误

String [] result = new String[na1 + na2];

不是int

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。