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

比如给一个{"abc","ABC","123","AbC","aBC","aaa"}。结果为{"abc","123","aaa"}。abc随便留下哪个都可以,反正重复的字... 比如给一个{"abc","ABC","123","AbC","aBC","aaa"}。
结果为{"abc","123","aaa"}。 abc随便留下哪个都可以,反正重复的字符串只要一个,忽略大小写。求大神
多谢各位啦,都很OK,可惜答案只能选一个给最快的了。不然都给啦。这么简单想法。全转一样直接存就自动去除啦。唉,人太笨了。真心感谢各位的回答。
展开
 我来答
鱼得水号
2014-03-30 · 聚爱水族生活馆,让你的生活如鱼得水
鱼得水号
采纳数:585 获赞数:3014

向TA提问 私信TA
展开全部
你是要写一个实现了这样功能的程序吗?

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

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

以上是我的一个思想,当然也是最常规的解法。现在就是要你用语言去实现了。看看,不会写我可以帮你,有什么问题就继续追问,没问题请记得采纳,谢谢!
havsb
2014-03-30 · TA获得超过130个赞
知道答主
回答量:97
采纳率:0%
帮助的人:56.6万
展开全部
package test;

import java.util.HashMap;

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

 运行通过,嘿嘿,

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

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ralphhuang
2014-03-30 · TA获得超过272个赞
知道小有建树答主
回答量:301
采纳率:0%
帮助的人:219万
展开全部
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<String> list = new ArrayList<String>();
        Set<String> set = new HashSet<String>();
        for(String s : array){
            if(set.add(s.toLowerCase())){
                list.add(s);
            }
        }
        return list.toArray(new String [list.size()]);
    }
}

纯手打代码,验证通过

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wuhen_zhang
2014-03-30 · TA获得超过736个赞
知道小有建树答主
回答量:253
采纳率:0%
帮助的人:46.5万
展开全部
首先利用String的toLowerCase()方法可以将一个字符串中的大写子母变成小写字母,然后参考下面的

import java.util.*;

class BaiDu
{
public static void main(String[] args)
{
TreeSet<String> tr = new TreeSet<String>();
String[] s ={"abc","abc","123","abc","abc","aaa"};
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]+" ");
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式