java字符串数组去重并计数
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java字符串数组去重并计数相关的知识,希望对你有一定的参考价值。
要求可以抽象成这样,有一个二位字符串数组rstop存有需要处理的数据,现在要把这里面的数据转存入另一个二维数组,要求新的二维数组第一行包含原有数据的所有内容并去重,第二行对应位置则是这个数据在原二维数组里出现的次数。这是我写的这部分那功能的代码,但是实在找不出问题在哪,求助!
for(i=0;rstop[0][i]!=null;i++)
stop[0][i]=rstop[0][i];
stop[1][i]="1";
stopnum=i;
for(;i<30000;i++)
stop[1][i]="0";
boolean same=false;
for(x=1;x<=count;x++)
for(y=0;rstop[x][y]!=null;y++)
same=false;
for(i=0;stop[0][i]!=null;i++)
if(rstop[x][y]==stop[0][i])
stop[1][i]=stop[1][i]+1;
same=true;
break;
if(same==false)
stop[0][stopnum++]=rstop[x][y];
stop[1][stopnum]="1";
stop就是新的二维数组
package lianXi;
public class helloWorld
public static void main(String[] args)
//初始化
String[][] rstop = "a", "b", "c", "d" , "b", "a", "b", "b" ,
"e", "f", "g", "d" , "h", "i", "f", "k" ;
String[][] stop = new String[2][16];
for (int i = 0; i < stop.length; i++)
for (int j = 0; j < stop[0].length; j++)
stop[i][j] = "0";
int p = 0;
boolean boo = true;
//执行操作
for (int i = 0; i < rstop.length; i++)
for (int j = 0; j < rstop[i].length; j++)
for (int k = 0; k <= p; k++)
if (stop[0][k].equals(rstop[i][j]))
int temp = (Integer.parseInt(stop[1][k]) + 1);
stop[1][k] = temp + "";
boo = false;
break;
if (boo)
stop[0][p] = rstop[i][j];
stop[1][p] = "1";
p++;
boo = true;
//输出结果
for (int i = 0; i < stop.length; i++)
for (int j = 0; j < stop[0].length; j++)
System.out.print(stop[i][j] + "\\t");
System.out.println();
结果如下:
简洁的数组去重并排序
1 var c=[1,8,6,4,88,22,99,4,6,86,5,58,89,5]; 2 c.sort(function (a,b) { 3 return a-b;//从小到大排序 改变原数组 4 }); 5 c = unique(c); 6 function unique(arr){ 7 var res = [arr[0]]; 8 for(var i=1;i<arr.length;i++){ 9 if(arr[i] !== res[res.length-1]){ 10 res.push(arr[i]); 11 } 12 }; 13 return res; 14 };
var a= [1,2,23,4],
b = [2,2,5,6,7];
var d=a.concat(b);//a在前 生成新数组
以上是关于java字符串数组去重并计数的主要内容,如果未能解决你的问题,请参考以下文章
javascript 常见数组操作( 1数组整体元素修改 2 数组筛选 3jquery 元素转数组 4获取两个数组中相同部分或者不同部分 5数组去重并倒序排序 6数组排序 7