「java数组提取相同」java数组复制到另一个数组
今天给各位分享java数组提取相同的知识,其中也会对java数组复制到另一个数组进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java中数组String array{a,b,c,d,c,d,e}如何能把字段相同的分到另外的数组中
- 2、在java中怎样实现从一个数组(s1)中剔除与另一个数组(s2)相同的元素
- 3、Java 两个String类型的数组,取出两个数组里面的相同元素在存在另外一个数组中?
- 4、java 判断两个数组中相同的值
java中数组String array{a,b,c,d,c,d,e}如何能把字段相同的分到另外的数组中
数组中提取相同的字母,可以使用string的charat方法遍历字母,放到一个string中,找到之后删除掉这个字母,接着遍历下一个,示例如下:
package test1;
import java.util.Random;
public class ArrayTest {
public static void main(String[] args) {
//1、构建一个数组
String[] array={"a","b","c","d","c","d","e"};
//2、将数组中值的遍历成一个String
String str="";
for(int i=0;iarray.length;i++){
str+=array[i];
}
System.out.println("strlength="+str);//打印出str
//3、为了能够实现需求,构建一个StringBuffer,方便使用,用法可以在jdk api找查找
StringBuffer sbu=new StringBuffer(str);//用str构建一个StringBuffer
String flag[][]=new String[sbu.length()][2];//这里只是定一个固定长的二维数组,用来存放遍历到得字母和 出现的次数,比如(a,1)表示a出现了1次,只有在每个字母都不重复下才能装满
for(int j=0;jsbu.length();j++){
flag[j][0]=sbu.charAt(j)+"";//二维数字第一列放字母
flag[j][1]=1+"";////二维数字第二列放出现次数,至少会出现一次
for(int k=j+1;ksbu.length();k++){
if(sbu.charAt(j)==sbu.charAt(k)){
sbu.deleteCharAt(k);//找到相同的字母,从StringBuffer中删除,这样下次就不会遍历它
flag[j][1]=Integer.parseInt(flag[j][1])+1+"";//长度加1
}
}
}
String a="{";
for(int i=0;iflag.length;i++){
if(flag[i][1]!=null){//上面说的flag二维不一定方面,所以判断一下再取值
String s=flag[i][0];//出现的字母
int num=Integer.parseInt(flag[i][1]);//出现的次数
System.out.println("字母:"+s+"出现了:"+num+"次");
int j=0;
for( j=0;jnum;j++){
a+=s;
}
if(j+1==num){
a+="}";
}else{
a+="}{";
}
}
}
System.out.println("结果是:"+a);
}
//说明一下,可以根据你自己的需要装
}
在java中怎样实现从一个数组(s1)中剔除与另一个数组(s2)相同的元素
方法一:将第一个数组的元素放到哈希表中,将第二个数组的元素也往哈希表中放,通过对比是否相同就可以判定那些元素是否需要保留。
方法二:将第一个数组当做查找源,将第二元素当做查找对象,采用二分查找法,逐个查找存在查找对象。
Java 两个String类型的数组,取出两个数组里面的相同元素在存在另外一个数组中?
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import org.apache.commons.collections.CollectionUtils;
public class Test {
public static void main(String[] args) {
ListString a = Arrays.asList("a", "b", "c");
ListString b = Arrays.asList("a", "b");
CollectionString c = CollectionUtils.intersection(a, b);
String[] arr = c.toArray(new String[c.size()]);
System.out.println(Arrays.toString(arr));
}
}
java 判断两个数组中相同的值
思路1:把两个List集合合并成一个List集合,对合成后的List集合做排序,比较合并后List第i个和第i+1值是否,相同则输出该值。
思路2:Arrays.sort对其中一个数组进行排序,利用Arrays.binarySearch方法在已排序数组中逐个检索另一个数组的值。
关于java数组提取相同和java数组复制到另一个数组的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。