java字符串数组去重
❶ java字符串数组去重并计数
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] + " ");
}
System.out.println();
}
}
}
结果如下:
❷ Java数组去重复问题
最简单的方式,我觉得效率也比较高的! 你建一个set。TreeSet吧,把组数组里面的数据取出来一个一个放入set。最后set里面的数据就是没有重复的了!把set再放回ArrayList就OK。好处是,不管List有多大,放入的时候都是一个一个放的。我尝试过给6万条数据去重复,效率还是可以的
❸ java如何去掉字符串中重复的字符
lz 你好
这个就是一个比较简单的算法题 , 你可以自己写
但是用Java语言就不需要了 , Java自带泛型相关的类 , 很有用
其中TreeSet集合能自动识别添加的是否重复 , 重复的将不会添加 , 很方便
以下是实现代码:
importjava.util.List;
importjava.util.Scanner;
publicclassDeleteRepeated{
privateStringstr;
privateTreeSet<String>noReapted;//带有String类型的TreeSet泛型
publicDeleteRepeated(){
Scannerin=newScanner(System.in);
System.out.println("输入一个字符串:");
str=in.nextLine();
noReapted=newTreeSet();
}
//清楚重复的数据
publicvoidremoveRepeated(){
for(inti=0;i<str.length();i++){
noReapted.add(""+str.charAt(i));
//str.charAt(i)返回的是char型所以先加一个""空格,转换成String型
//TreeSet泛型能保证重复的不加入,而且有序
}
str="";
for(Stringindex:noReapted){
str+=index;
}
//输出
System.out.println(str);
}
publicstaticvoidmain(String[]args){
DeleteRepeateddr=newDeleteRepeated();
dr.removeRepeated();
}
}
运行截图:
希望能帮助你哈
❹ java中去掉字符串数组中重复的字符串(不改变原有顺序)并计数(不同的字符串重复了多少次)
String[]arr={"abc","bbc","abc","def"};
List<String>list=newArrayList<String>();
StringoldStr="";
for(StringcurrStr:arr){
if(oldStr.contains(currStr+",")){//已有跳过
continue;
}
list.add(currStr);
oldStr+=currStr+",";
intcount=0;
for(StringanArr:arr){
if(anArr.equals(currStr)){
count++;
}
}
System.out.println(currStr+"|"+count);
}
String[]strings=list.toArray(newString[list.size()]);
❺ java中对字符串数组去重并忽略大小写
你是要写一个实现了这样功能的程序吗?
首先你要有思想去解决这个问题,你知道该怎么做,你才能去利用java这个语言工具去实现,其实编程最核心的就是思想(算法),当然还有数据结构,这两个东西才是程序设计的核心。
这个题很简单嘛,首先在内存里面开辟一个集合空间s,你用来存放你想要的结果,然后依次去遍历你这个数组,每次取一个(统一转换成小写),然后看看你的s里面是否包含了这个元素,没有包含就放进去,包含了就跳过这个,这样不是当你遍历完你的数组的时候,你要的结果就有了吗?
以上是我的一个思想,当然也是最常规的解法。现在就是要你用语言去实现了。看看,不会写我可以帮你,有什么问题就继续追问,没问题请记得采纳,谢谢!
❻ java中怎么将字符串数组中的重复的元素去掉,但是还是保留一个。
import java.util.*;
class BaiDu
{
public static void main(String[] args)
{
TreeSet<String> tr = new TreeSet<String>();
String[] s ={"11","22","22","33","33","33"};
System.out.print("====处理前=======");
for(int i=0;i<s.length;i++){
System.out.print(s[i]+" ");
tr.add(s[i]);
}
String[] s2= new String[tr.size()];
System.out.println("=====处理后======");
for(int i=0;i<s2.length;i++){
s2[i]=tr.pollFirst();//从TreeSet中取出元素重新赋给数组
System.out.print(s2[i]+" ");
}
}
}
❼ (Java)怎么去掉字符串数组中重复的值
import java.util.Set;
import java.util.TreeSet;
public class Admin {
public static void main(String[] args) {
String fdbs = "WXB,WXA,FDA,WXB";
String[] str = fdbs.split(",");
Set set = new TreeSet();
for (int i = 0; i < str.length; i++) {
set.add(str[i]);
}
str = (String[]) set.toArray(new String[0]);
for (int i = 0; i < str.length; i++) {
System.out.println(str[i]);
}
}
}
❽ 急求!!!!用java 写一个 字符串去重 的程序!
可以利用SET里元素不重复的功能实现, 将字符串按照、分割成数组, 然后挨个放入SET中, 最后遍历SET 将里面每个元素组合成一个字符串 。
String s[] = “人、药物、疾病、药物、疾病、人、药物、” 按照、分割。
Set set = new HashSet();
遍历数组s[]
将数组每个元素放入set
遍历结束
定义字符串result=""
遍历set
result = result + "、" + set的该次遍历的元素
遍历结束, 得到结果result
❾ java中二维数组去重复值,怎么做
// 都当做字符串 String[][] arr = { { "a", "b", "cd", "e efg" }, { "1", "2" } }; // 或者定义为Object类型数组 Object[][] brr = { { "a", "b", "cd", "e efg" }, { 1, 2 }, { 'a', 'b' } };