package Bean;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedList;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
public class StringArray {
public static void main(String[] args) {
// 测试union
String[] arr1 = { "abc", "df", "abc" };
String[] arr2 = { "abc", "cc", "df", "d", "abc" };
String[] result_union = union(arr1, arr2);
System.out.println("求并集的结果如下:");
for (String str : result_union) {
System.out.println(str);
}
System.out
.println("---------------------可爱的分割线------------------------");
// 测试insect
String[] result_insect = intersect(arr1, arr2);
System.out.println("求交集的结果如下:");
for (String str : result_insect) {
System.out.println(str);
}
System.out
.println("---------------------疯狂的分割线------------------------");
// 测试minus
String[] result_minus = minus(arr1, arr2);
System.out.println("求差集的结果如下:");
for (String str : result_minus) {
System.out.println(str);
}
}
// 求两个字符串数组的并集,利用set的元素唯一性
public static String[] union(String[] arr1, String[] arr2) {
Set<String> set = new HashSet<String>();
for (String str : arr1) {
set.add(str);
}
for (String str : arr2) {
set.add(str);
}
String[] result = {};
return set.toArray(result);
}
// 求两个数组的交集
public static String[] intersect(String[] arr1, String[] arr2) {
Map<String, Boolean> map = new HashMap<String, Boolean>();
LinkedList<String> list = new LinkedList<String>();
for (String str : arr1) {
if (!map.containsKey(str)) {
map.put(str, Boolean.FALSE);
}
}
for (String str : arr2) {
if (map.containsKey(str)) {
map.put(str, Boolean.TRUE);
}
}
for (Entry<String, Boolean> e : map.entrySet()) {
if (e.getValue().equals(Boolean.TRUE)) {
list.add(e.getKey());
}
}
String[] result = {};
return list.toArray(result);
}
// 求两个数组的差集
public static String[] minus(String[] arr1, String[] arr2) {
LinkedList<String> list = new LinkedList<String>();
LinkedList<String> history = new LinkedList<String>();
String[] longerArr = arr1;
String[] shorterArr = arr2;
// 找出较长的数组来减较短的数组
if (arr1.length > arr2.length) {
longerArr = arr2;
shorterArr = arr1;
}
for (String str : longerArr) {
if (!list.contains(str)) {
list.add(str);
}
}
for (String str : shorterArr) {
if (list.contains(str)) {
history.add(str);
list.remove(str);
} else {
if (!history.contains(str)) {
list.add(str);
}
}
}
String[] result = {};
return list.toArray(result);
}
}
相关推荐
物理信息神经网络(PINNs)在交通运输领域的应用
物理信息神经网络(PINNs)在交通运输领域的应用研究结合了数据驱动与物理模型约束,通过嵌入交通流守恒定律等物理信息,显著提升了交通状态估计与预测的精度。该技术仅需少量观测数据(流量、速度、密度等),即可实现高精度建模,尤其适用于数据稀疏场景。研究重点包括:交通状态估计与预测、参数辨识、交通控制优化等领域,同时面临计算成本高、物理模型依赖性等挑战。未来需解决大规模异构数据处理问题,以进一步推动智能交通系统发展。
java 实现数组取差集 高效方法
已知 数组 String y= "a,b,c,d,e,f,g"; String x = "c,d,e,f"; 求:取y与x的差集。。即确定x在y中肯定存在 使用工具类 /** * @描述 两个数组取差集, 从多的里面取。。。 * @参数 [fids, pids] fids是多的数组;pids是少的数组 * @返回值 java.lang.S...
Altium Designer20-柔性PCB绘制技巧
Altium Designer2020-柔性PCB绘制技巧 注:教程所用PCB随意找的,并没有完全绘制完,大家学习PCB折弯方法即可。 1.打开PCB,点击视图->板子规划模式1,如下图所示 2.点击设计->定义分割线,用两条分割线绘出要折弯的区域 3.点击设计->定义弯曲线(弯曲线呈现黄色) 4.用快捷键d,k进入layer manage stack(层叠管理器),在f...
多个String集合取交集
/** * 多个String集合取交集 * * @param values * @return */ public static Set<String> intersectStringList(List<String>... values) { Map<Integer, Set<String>> map = new HashMap<>(8); int ind.
STM32F411CEU6实战:用W25Q64存储多张图片,在240x240 LCD上轮播显示(附源码)
本文详细介绍了如何使用STM32F411CEU6通过SPI接口管理W25Q64 Flash中的多张图片,并在240x240 LCD上实现平滑轮播显示。内容涵盖硬件配置、图片存储方案设计、轮播系统实现及性能优化技巧,特别针对SPI传输优化和多图存储管理提供了实用解决方案。附源码,适合嵌入式开发者参考。
Kali Linux实战:5分钟复现永恒之蓝漏洞攻击(附Win7靶机配置指南)
本文提供了一份详细的Kali Linux实战指南,指导读者在5分钟内于隔离的虚拟环境中复现经典的永恒之蓝漏洞攻击。内容涵盖从Windows 7靶机配置、网络设置,到使用Nmap进行服务发现、利用Metasploit框架进行漏洞扫描与利用的全过程,并演示了基础的Meterpreter后渗透操作,旨在帮助网络安全学习者通过亲手实践深入理解SMB协议漏洞的攻防原理。
取两个String数组的交集
取两个string数组的交集,首先将第一个数组的值作为key,value为false存储在map集合中;然后将第二个数组的值循环去判断map中key是否存在,存在就讲key对应的value改成true,否则不做变化;最后,取出map中value为true的key,就是两个数组的交集。 备注:方法一当数组中有重复数据时,map设置key时会把重复的值丢掉,方法二会将两个数组中所有重...
UWB定位原理详细介绍
Hello大家好我是小智,今天我来给大家介绍下超宽带的定位原理,首先我们来讲下什么是UWB技术。 超宽带(Ultra Wide Band)简称UWB,和我们熟悉的WIFI、蓝牙技术一样属于通信技术的一种,UWB是一种无线载波通信技术,它不采用正弦载波,而是利用纳秒级的非正弦波窄脉冲传输数据,其所占的频谱范围很宽,右图是一种典型的正弦载波信号图。 UWB这种技术有什么特点呢? UWB系统结构实现简单;2.具有高速的数据传输能力;3.功耗低;4.安全性高;5.多径分辨能力强;6.可用于精确定位等特点。 UWB.
求string数组中的并集交集以及差集
常用 utils 之 求string数组中的并集交集以及差集。
MATLAB去雾算法实战:5种经典方法对比+1种改进方案(附完整源码)
本文详细对比了MATLAB中5种经典去雾算法(包括暗通道先验、多尺度Retinex等)的实现效果,并提出一种创新的自适应融合改进方案。通过完整的源码展示和性能对比,帮助开发者掌握图像去雾的核心技术,提升计算机视觉应用中的图像质量。特别针对去雾算法中的光晕效应问题,给出了工程实践中的优化技巧。
机器学习(十九):梯度提升回归(GBR)
机器学习中的梯度提升回归算法原理与案例实战。
java比较两个string数组_java对两个字符串数组取交集、并集和差集
import java.util.*;public class StringArrayUtil {//求两个字符串数组的并集,利用set的元素唯一性public static String[] union(String[] arr1, String[] arr2) {Set set = new HashSet<>();Collections.addAll(set, arr1);Coll...
2026年复旦微电数字IC笔试试卷带答案解析
摘要: 本文为复旦微电子MCU/SOC岗位笔试模拟题,涵盖单片机架构、数字电路、存储技术等核心知识点。内容包括: 单选题(30分):考察Cortex-M中断机制、时序分析(建立/保持时间)、逻辑化简、跨时钟域设计(格雷码应用)、存储器特性(NAND Flash操作单元)等; 波形分析(15分):聚焦D触发器行为、时钟分频、建立时间违例判断及跨时钟域同步; 多选题(25分):涉及亚稳态成因与处理、异步FIFO设计要点、MCU低功耗策略、NAND Flash特性及复旦微电市场地位; 简答题(20分):解析建立/
java string数组求交集_转:String数组差集交集并集
packagestring;importjava.util.HashMap;importjava.util.HashSet;importjava.util.LinkedList;importjava.util.Map;importjava.util.Map.Entry;importjava.util.Set;public classStringArray {public static voidma...
ssm框架搭建
这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载
迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)
迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)
java string数组求交集_java求字符串数组交集、并集和差集
importjava.util.HashMap;importjava.util.HashSet;importjava.util.LinkedList;importjava.util.Map;importjava.util.Map.Entry;importjava.util.Set;public classStringArray {public static voidmain(String[] ar...
lwip-2.0.3
lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。
java string数组求交集_Java求字符串数组交集、并集和差集
//求两个字符串数组的并集,利用set的元素唯一性public staticString[] union(String[] arr1, String[] arr2) {Set set = new HashSet();for(String str : arr1) {set.add(str);}for(String str : arr2) {set.add(str);}String[] result=...
锂电池充电器电路设计 里面有电路
锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。
C#求交集差集并集
int[] arr = new int[3]{1,2,3}; int[] arr2 = new int[3]{2,5,6}; int[] arr3 = arr.Intersect(arr2).ToArray(); // 交集 int[] arr4 = arr.Except(arr2).ToArray(); // 差集 int[] arr5 = arr.Union(arr2).ToAr
Redis数据结构——set
命令功能添加元素随机删除元素判断元素是否在集合中随机返回一个元素scard key返回集合长度随机删除key获取集合所有元素求交集求并集求差集。
es6 Set 3分钟学习
前置知识: Set对象是值的集合,你可以按照插入的顺序迭代它的元素。 Set中的元素只会出现一次,即 Set 中的元素是唯一的。 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Set 1.常用方法: add: set对象尾部添加元素 const set1 = new Set([1,2,3]); //array转set set1.add(4); //添加元素 has: 是否包含某
Redis 数据类型
Redis目前支持5种数据类型,分别是: String(字符串)(可以为整形、浮点型和字符串,统称为元素) List(列表)(实现队列,元素不唯一,先入先出原则) Hash(字典)(hash的key必须是唯一的) Set(集合)(各不相同的元素) Sorted Set(有序集合) String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类...
java stream的常见操作
假设有 Student 类,里面含有 id、name、score 等信息。假设有Student类,里面含有id、name、score等信息。假设有 Student 学生类,里面含有 id、name、score 等信息。上面是流里面使用 max、min、average 、reduce 方法获取数组的最大、最小值、平均值,求和。首先需要将该字符串转换为数组,接下来需要过滤掉非整数元素,最后,将该数组的剩余元素转换为数字并求和。除了上面的方法还可以像下面这样获取最大值、最小值、平均值,求和。
4. Redis数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512M.键值对集合,即编程语言中的Map类型。适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值(Memcached中需要取出整个字符串反序列化成对象修改完再序列化存回去)存储、读取、修改用户属性.链表(双向链表)。增删快,提供了操作某一段元素的API。 如:1,最新消息
Redis有哪几种数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。 String(字符串) string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value。 string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数...
python编程面试题及答案_【图片】2020年Python最新面试题(二):Python基础【编程吧】_百度贴吧...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼目录1. 上期真题答案2. 如何删除一个列表(list)中的重复元素3. 如何求两个列表(list)的交集、差集或并集?4. 如何反序地迭代一个序列?5. 列表的sort方法和sorted方法有何区别?6. 列表中常用的方法有哪些?7. 什么是列表生成式?8. 字符串格式化%和.format,f格式化字符串的区别是什么?9. 单引号、双引号和三引号的区别...
两个数组的交集,并集,差集。
两个数组的交集,并集,差集。不废话,上代码。。。
Redis数据类型
这里写目录标题redis数据类型二级目录三级目录 redis数据类型 一、string数据类型 概述: string是redis 最基本的类型,最大能存储 512MB 的数据,string类型是二进制安全的,即可以存储任何数据、比如数字、图片、序列化对象等 1、SET/ GET/APPEND/ STRLEN: PS:APPEND APPEND key value追加键值,并返回追加后的长度(若键不存在,则相当于创建) exists home #判断该键是否存在,存在返回1,否则返回o append home
944



被折叠的 条评论
为什么被折叠?



