java两个数组,怎样把重复的元素往后排

java两个数组,怎样把重复的元素往后排,第1张

public class Hebing1 {

    public static void main(String[] args) {

        int[] a = { 2, 3, 7, 12, 16, 21, 45, 76 }

        int[] b = { 1, 5, 12, 14, 17, 21, 36, 45, 78, 98 }

        int[] d = new int[18]

        int count = 0, pos = 0

        for (int i = 0 i < b.length i++) {

            d[i] = b[i]

        }

        for (int j = 0 j < a.length j++) {

            boolean flag = false

            for (int k = 0 k < b.length k++) {

                if (a[j] == b[k]) {

                    flag = true

                    break

                }

            }

            if (flag) {

                d[d.length - 1 - pos] = a[j]

                pos++

            } else {

                d[b.length + count] = a[j]

                count++

            }

        }

        for (int q = 0 q < d.length q++) {

            System.out.print("  " + d[q])

        }

    }

}

问题楼上已经说明了,我这里附上改过的代码

方法1:从第一个开始轮询,与后面所有比较,有相同的则相加,并去除相同元素;继续论需第二个,依次类推。

方法2:将数组的值添加到map中,字母做key,值做value。添加前先判断元素是否存在,存在则将原有的值取出与现有值相加并更新。依次类推。最后将map转换成数组。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11864178.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存