java中对字符串数组去重并忽略大小写

2025-04-14 10:57:10
推荐回答(4个)
回答1:

你是要写一个实现了这样功能的程序吗?

首先你要有思想去解决这个问题,你知道该怎么做,你才能去利用java这个语言工具去实现,其实编程最核心的就是思想(算法),当然还有数据结构,这两个东西才是程序设计的核心。

这个题很简单嘛,首先在内存里面开辟一个集合空间s,你用来存放你想要的结果,然后依次去遍历你这个数组,每次取一个(统一转换成小写),然后看看你的s里面是否包含了这个元素,没有包含就放进去,包含了就跳过这个,这样不是当你遍历完你的数组的时候,你要的结果就有了吗?

以上是我的一个思想,当然也是最常规的解法。现在就是要你用语言去实现了。看看,不会写我可以帮你,有什么问题就继续追问,没问题请记得采纳,谢谢!

回答2:

package test;

import java.util.HashMap;

public class Test {
public static void main(String[] args) {
String s[] = {"abc","ABC","123","AbC","aBC","aaa"};
HashMap hm = new HashMap();
for(String ss:s){
hm.put(ss.toLowerCase(), 1);   //用hashmap除去重复的值
}
for(String ss:hm.keySet()){
System.out.println(ss);  //这里直接输出了,如果要保存在这里做操作就可以了,
}
}
}

 运行通过,嘿嘿,

希望能给楼主帮助,求采纳~~

回答3:

package test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

public class Test {

    public static void main(String[] args) {
        //String[] arg = { "123", "abc", "df", "ABC", "abc", "DF", "s" };
        String[] arg = {"abc","ABC","123","AbC","aBC","aaa"};
        System.out.println(Arrays.toString(getArray(arg)));

    }

    public static String [] getArray(String [] array){
        List list = new ArrayList();
        Set set = new HashSet();
        for(String s : array){
            if(set.add(s.toLowerCase())){
                list.add(s);
            }
        }
        return list.toArray(new String [list.size()]);
    }
}

纯手打代码,验证通过

回答4:

首先利用String的toLowerCase()方法可以将一个字符串中的大写子母变成小写字母,然后参考下面的

import java.util.*;

class BaiDu
{
public static void main(String[] args)
{
TreeSet tr = new TreeSet();
String[] s ={"abc","abc","123","abc","abc","aaa"};
System.out.print("====处理前=======");
for(int i=0;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[i]=tr.pollFirst();//从TreeSet中取出元素重新赋给数组
System.out.print(s2[i]+" ");
}
}
}