找出两个字符串数组中的相同元素

public static List<String> getAllSameElement1(String[] strArr1,String[] strArr2) {  if(strArr1 == null || strArr2 == null) {  return null;  }  List<String> strList1 = new ArrayList<String>(Arrays.asList(strArr1)); //----------代码段1  List<String>  strList2 = new ArrayList<String>(Arrays.asList(strArr2));  //--------------代码段2  
          strList1.retainAll(strList2);  return strList1;  }  

另一种实现,数组比较大的情况下

    1. 由 于最近看见一文章,是描述数据库mergeJoin 的扫描方式的,仿照里面的大致逻辑自己写了<br> 
    2.     个类似的方法。如果数组大的话,这个要比getAllSameElement1好 
    3.     
    4.          大致思路是:1.首先将两个数组A、B排序(递增)<br> 
    5.                   2.分别从A和B中各取出一元素a,b,对a和b进行比 较:<br> 
    6.                      1) 如果a与b相等,则将a或b存入一指定集合中<br> 
    7.                     2)如果a小于b,则继续取A的下一元素,再与b比 较<br> 
    8.                     3) 如果a大于b,则取B的下一个元素,与a进行比较<br> 
    9.                  3.反复进行步骤2,知道A或B的元素都比较完<br> 
    10.                  4.返回集合(存了相同的元素)<br>
public static List<String> getAllSameElement2(String[] strArr1,String[] strArr2) {  if(strArr1 == null || strArr2 == null) {  return null;  }  Arrays.sort(strArr1);  Arrays.sort(strArr2);  List<String> list = new ArrayList<String>();  int k = 0;  int j = 0;  while(k<strArr1.length && j<strArr2.length) {  if(strArr1[k].compareTo(strArr2[j])==0) {  if(strArr1[k].equals(strArr2[j]) ) {  list.add(strArr1[k]);  k++;  j++;  }  continue;  } else  if(strArr1[k].compareTo(strArr2[j])<0){  k++;  } else {  j++;  }  }  return list;  } 

来自:http://blog.sina.com.cn/s/blog_76ce6f790100pais.html

转载于:https://www.cnblogs.com/dingchenghong/archive/2012/05/25/2517598.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/267050.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

@ConfigurationProperties和@Value不同的使用场景,@Bean添加组件 (6.spring boot配置文件注入)...

接上文 注释掉ConfigurationProperties使用Value注解 /*** <bean class"Person">* <property name"lastName" value"字面量/${key}从环境变量、配置文件中获取值/#{spel}"></property>* <bean/>*/ //Spring底层注解…

sqlite的数据导入 导出

数据导入的来源可以是其他应用程序的输出&#xff0c;也可以是指定的文本文件&#xff0c;这里采用指定的文本文件。 1. 首先&#xff0c;确定导入的数据源&#xff0c;这里是待导入的&#xff0c;按固定格式的文本文件。 2. 然后&#xff0c;依照导入的文件格式&#xff0…

java继承孙子类_Java:类与继承

Java&#xff1a;类与继承对于面向对象的程序设计语言来说&#xff0c;类毫无疑问是其最重要的基础。抽象、封装、继承、多态 这四大特性都离不开类&#xff0c;只有存在类&#xff0c;才能体现面向对象编程的特点&#xff0c;今天我们就来了解一些类与继承的相关知识。首先&am…

linux 下安装JDK

安装配置JDK 下载JDK 因为Elasticsearch需要Java环境&#xff0c;所以需先下载JDK&#xff0c;并配置Java的环境\ 下载地址&#xff1a;http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\ 这里我选择jdk-8u151-linux-x64.tar.gz解压安装…

在ubuntu上搭建LNMP服务器

LNMP Linux Nginx MySQL PHP 安装Nginx 执行以下命令即可: apt-get install nginx不过源里的版本是0.7.65&#xff0c;不喜欢老旧的玩意&#xff0c;可以尝试编译安装。 编译安装nginx. 1.准备编译环境 apt-get install libpcre3-dev build-essential libssl-dev在这里 htt…

java 后端开发好吗_后端开发学Java好还是学c++好呢?

C与 java 的抉择为了找工作&#xff1a;选Java。为挑战自我&#xff1a;选C。很多人都说会C就能会快掌握Jave。C是不好学&#xff0c;但是我告诉你java也不好学。C难是难在语言本身&#xff0c;java难是难在各种框架和库。你单纯学个java语法&#xff0c;你什么玩意也做不了&am…

mysql表名忽略大小写

MYSQL表名忽略大小写 问题描述&#xff1a;一开发同事在linux下调一个程序老是报错说找不到表&#xff0c;但是登陆mysql&#xff0c;show tables查看明明是已经创建了这张表的&#xff01;&#xff01;如下&#xff1a; 1234567891011121314151617181920212223mysql> show …

邮件联系人,如何恕不部分字母就能显示邮件联系人

新装的电脑&#xff0c;邮件pst文件已经导入成功&#xff0c;但是我想给别人发邮件时&#xff0c;输入个别英文字母就能显示对方的邮件地址&#xff0c;这样该如何操作呢&#xff1f;PST文件已经导入成功&#xff0c;邮件联系人中也能看到公司所有人的联系方式。转载于:https:/…

java的class和object_Java中Class/Object/T的关系

Object 对象Object是Java中的基类&#xff0c;大部分的对象都是继承于这个类。public class Object {....public native int hashCode();public boolean equals(Object obj) {...}public String toString() {...}}以上是其定义&#xff0c;可以看出来其定义了一些基础方法&…

P2787 语文1(chin1)- 理理思维

题目背景 蒟蒻HansBug在语文考场上&#xff0c;挠了无数次的头&#xff0c;可脑子里还是一片空白。 题目描述 考试开始了&#xff0c;可是蒟蒻HansBug脑中还是一片空白。哦不&#xff01;准确的说是乱七八糟的。现在首要任务就是帮蒟蒻HansBug理理思维。假设HansBug的思维是一长…

使用jstree创建无限分级的树(ajax动态创建子节点)

首先来看一下效果 页面加载之初 节点全部展开后 首先数据库的表结构如下 其中Id为主键,PId为关联到自身的外键 两个字段均为GUID形式 层级关系主要靠这两个字段维护 其次需要有一个类型 public class MenuType{public Guid Id { get; set; }public Guid PId { get; set; }publi…

oracle长连接超时设置

方法一、在sqlnet.ora中设置参数 如需要设置客户端空闲10分钟即被中断&#xff0c;则在sqlnet.ora的末尾添加SQLNET.EXPIRE_TIME10注&#xff1a;sqlnet.ora文件的路径在$ORACLE_HOME/network/admin下。 方法二、Oracle Profile中设置 生产库上执行如下操作&#xff1a; SQL>…

linux syslog 笔记

原文地址 Linux日记系统由系统日志监控程序syslogd和内核日志监控程序klogd组成。从它们的命名可以看到&#xff0c;这两个监控程序都是守护程序&#xff08;daemon&#xff09;&#xff0c;且都注册成了系统服务。换句话说&#xff0c;我们可以在目录/etc/init.d/下找到它们对…

Jenkins构建Spring+Nodejs项目

构建node.js环境1.安装 node.js 2.项目目录下执行 npm i -production 安装依赖的包install时会在项目目录下生成node_modules目录&#xff0c;使用-production只会下载依赖相关的包&#xff0c;否则会下所有的包&#xff08;太大了&#xff09;。因为编译主机不能联网&#xff…

解析Hibernate的结构

在学习Hibernate的时候&#xff0c;首先要了解Hibernate的大体结构&#xff0c;这样才能更好的理解其中的知识&#xff0c;下面就开始分析Hibernate的体系结构 1.HIbernate简要的体系结构如下图所示&#xff1a; 通过上图能够发现HIbernate需要一个hibernate.properties文件&am…

Java反梯形图案_梯形法求定积分(一)设计梯形法求积分的类模板,梯形法

/*设计梯形法求积分的类模板&#xff0c;梯形法求积分的函数被定义为成员函数&#xff0c;可以求任意函数的定积分&#xff0c;用积分类的模板参数T引入被积函数*/#include#include#includeusing namespace std;class Mysin{public:double fun(double x){return (sin(x));}};cl…

排序算法杂谈(三) —— 归并排序的非递归实现

1. 递归 在众多排序算法中&#xff0c;归并排序&#xff08;Merge Sort&#xff09;和快速排序&#xff08;Quick Sort&#xff09;都是时间复杂度为 O(nlog2n) 的高效排序。 这两种排序有一种共性&#xff0c;就是运用到了递归的思想。 在程序设计中&#xff0c;递归是一个很有…

apache+php32位平台安装

一、 系统配置 1、 禁用IPV6 修改/etc/modprobe.conf文件&#xff0c;加入以下两行: alias net-pf-10 off alias ipv6 off 2、 启用以下服务 其它服务关闭 acpid 提供高级电源管理 cpuspeed 可以提高系统运行效率 apmd 高级电源管理 crond 执行例行性程序 也就是window…

mysql 函数修改无效_MySQL:组函数的使用无效

MySQL&#xff1a;组函数的使用无效我正在使用MySQL。 这是我的模式&#xff1a;供应商( sid&#xff1a;整数 &#xff0c;sname&#xff1a;string&#xff0c;地址string)部件( pid&#xff1a;整数 &#xff0c;pname&#xff1a;string&#xff0c;颜色&#xff1a;string…

webpack简单笔记

本文简单记录学习webpack3.0的笔记&#xff0c;已备日后查阅。节省查阅文档时间 安装 可以使用npm安装 //全局安装 npm install -g webpack //安装到项目目录 npm install --save-dev webpack npm init会创建package.json文件。配置该文件可以简化我们之后的一些操作&#xff0…