java-两个数组,寻找多出来的元素
来源:互联网 发布:深圳网站建设方维网络 编辑:程序博客网 时间:2024/06/07 19:30
package test;import java.util.ArrayList;import java.util.List;public class Test1 {public static void main(String[] args) {int[] array1 = { 1, 34, 65, 89, 143, 38, 20, 183 };int[] array2 = { 20, 1, 65, 183, 38, 89, 34 };// 第一种方式:分别把两个数组的值放到两个不同的list集合中,使用removeAll方法进行去重List<Integer> list1 = new ArrayList<Integer>();List<Integer> list2 = new ArrayList<Integer>();for (int i = 0; i < array1.length; i++) {list1.add(array1[i]);}for (int j = 0; j < array2.length; j++) {list2.add(array2[j]);}list1.removeAll(list2);System.out.println("第一种方式:" + list1.get(0));// 第二种方式:分别把两个数组的值求和,并把两个结果相减,然后使用Math.abs()方法取绝对值int sum1 = 0;int sum2 = 0;for (int i = 0; i < array1.length; i++) {sum1 += array1[i];}for (int j = 0; j < array2.length; j++) {sum2 += array2[j];}System.out.println("第二种方式:" + Math.abs(sum1 - sum2));// 第三种方式:使用^:异或// 异或的性质:两个相同的数异或结果一定为0,把两个数组里的元素都进行异或,得到的结果就是所求的结果int c = 0;for (int i = 0; i < array2.length; i++) {// 按照数组短的数组进行异或c ^= array2[i] ^ array1[i];}// 数组长的剩余的那个元素,与之前结果进行异或,得到最后结果c ^= array1[array1.length - 1];System.out.println("第三种方式:" + c);System.out.println("---------------------------------");// 使用异或的这个特性进行字符串加密测试String str = "加密测试密码";System.out.println("原始密码:"+str);String passwordNew = "";String passwordOld = "";int key = 0xAB;for (int i = 0; i < str.length(); i++) {passwordNew += (char) (str.charAt(i) ^ key);}System.out.println("加密后密码:"+passwordNew);for (int i = 0; i < passwordNew.length(); i++) {passwordOld += (char) (passwordNew.charAt(i) ^ key);}System.out.println("还原原始密码:"+passwordOld);}}
本文共展示三种方式,以及异或方式的一种加密延展测试,得到的结果如下图所示:
阅读全文
0 0
- java-两个数组,寻找多出来的元素
- 数组中寻找和为sum的两个元素
- 寻找两个数组的中位数
- 第十四题(升序数组中寻找和为特定数的两个元素)
- 从两个有序数组的并集中寻找第k小元素
- 从两个有序数组的并集中寻找第k小元素
- [LeetCode题解]从两个有序数组的并集中寻找第k小元素
- 比较两个数组中相同元素并打印出来
- 面试编程题拾遗(02) --- 寻找多出来的元素
- 在两个有序数组中寻找第k个元素
- 寻找两个排序数组的中位数
- Java 获取两个整型数组之间的重复元素集合
- 求两个有序数组相同元素的个数-JAVA
- Java如何将两个数组的元素按顺序合并
- Java求解数组中的两个元素的最小距离
- java 取出两个数组中相同的元素
- java去除两个数组中相同的元素
- 【leetcode】——从两个有序数组中寻找他们并集的第k小元素
- pthread_cleanup_push
- 使用 Azure PowerShell 模块创建和管理 Windows VM
- centos 安装配置maven
- autocomplete属性使用
- 一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。
- java-两个数组,寻找多出来的元素
- python切片、迭代、生成器、列表生成式等高级特性学习
- 秒杀985,力压211,名校蓝翔竟为何改名“技院”?
- JavaScript-函数2-构造函数
- GAN和DCGAN
- dwz中一级dialog刷新问题
- android 将手机号中间隐藏为星号(*)和手机号码判断
- 制定通信协议
- 学生管理系统