String str =“1,2,3,5,8,2,3,”;把 str按“,”分割开来,并放到数组中去,要求数组中的数据不可以重复;请代码

解决方案 »

  1.   

    .split(",") 后就是一个数组了,然后数组循环去重。
    不知道大虾们有没有更好的方法.........
      

  2.   

    用split拆分,然后二分插入到另外一个数组里面。
      

  3.   

    你用我这试试呢
    import java.util.ArrayList;public class TestMain
    {    public static String[] split(String str, String splitsign)
        {
            int index;
            if (str == null || splitsign == null)
                return null;
            ArrayList<String> al = new ArrayList<String>();
            while ((index = str.indexOf(splitsign)) != -1)
            {
                String s = str.substring(0, index);
                if (!al.contains(s))
                {
                    al.add(s);
                }
                str = str.substring(index + splitsign.length());
            }
            return (String[]) al.toArray(new String[0]);
        }    public static void main(String args[])
        {        String str = "1,2,3,5,8,5,3,";        String[] strs = split(str, ",");
            for (int i = 0; i < strs.length; i++)
            {
                System.err.println(strs[i]);
            }
        }

      

  4.   

    public static void main(String[] args) {
         String str ="1,2,3,5,8,2,3,";
         String[] strr = str.split(",");
         int mount = 0;
         int k = 0;
         for(int i=0; i<strr.length-1; i++) {
         for(int j=i+1; j<strr.length; j++) {
         if(strr[j].equals(strr[i])) {
         strr[j] = "";
         }
         }
         }
         for(int i=0; i<strr.length; i++) {
         if(!strr[i].equals("")) {
         mount++;
         }
         }
         String[] strr1 = new String[mount];
         for(int i=0; i<strr.length; i++) {
         if(!strr[i].equals("")) {
         strr1[k++] = strr[i];
         }
         }
         System.out.println(Arrays.toString(strr1));
        }
        
    虽然复杂但可以满足楼主要求,集合还没有学 
      

  5.   

    两种:1。
    public static void main(String[] args) {
    String str ="1,2,3,5,8,2,3";
    String[] arr = str.split(",");
    List<String> list  =  (List<String>) Arrays.asList(arr);
    Set<String> set = new HashSet<String>();
    for(String s : list){
    set.add(s);
    }
    Object[] arrResult = set.toArray();
    for (int i = 0; i < arrResult.length; i++) {
    System.out.println(arrResult[i]);
    }
    }
    2。
    public static void main(String[] args) {
    String str ="1,2,3,5,8,2,3";
    String[] arr = str.split(",");
    StringBuffer sb = new StringBuffer("");
    for (int i = 0; i < arr.length; i++) {
    if(!sb.toString().contains(arr[i])){
    sb.append(arr[i]+",");
    }
    }
    str = sb.toString().substring(0, sb.toString().length()-1);
    String[] arrResult = str.split(",");
    System.out.println("无重复数组:"+arrResult.toString());
    }
      

  6.   


    String s = "1,2,3,5,8,2,3,";
    Set<String> set = new HashSet<String>();
    for (String ss : s.split(",")) {
    set.add(ss);
    }
    System.out.println(set+"  长度 "+set.size());
    String[] tmp = new String[set.size()];
    set.toArray(tmp);
    System.out.println(Arrays.toString(tmp));
      

  7.   


        public static void main(String[] args) {
            String str ="1,2,3,5,8,2,3";
            Set<String> set = new HashSet<String>(Arrays.asList(str.split(",")));
            String[] result = set.toArray(new String[0]);
            Ssytem.out.println(Arrays.toString(result));
        }
      

  8.   

    用正则表达式处理,保持原来的顺序/*
    String str =“1,2,3,5,8,2,3,”;把 str按“,”分割开来,并放到数组中去,要求数组中的数据不可以重复;请代码
    */import java.util.regex.Pattern;
    import java.util.regex.Matcher;public class Test{
    public static void main(String[] args){
    String content = "1,2,3,5,8,2,3,2,3,1,33,44,11,22";
    String result = process(content);
    String[] array = result.split(",");
    int i = 1;
    for(String str : array){
    System.out.println(i++ + ": " + str);
    }
    } public static String process(String content){
    content = content + ",";
    String regex = "^((?:\\d+,)*?)(\\d+,)((?:\\d+,)*?)(\\2)((?:\\d+,)*)$";
    Pattern pattern = Pattern.compile(regex);
    Matcher matcher = pattern.matcher(content); while(matcher.matches()){
    content = matcher.group(1) + matcher.group(2) + matcher.group(3) + matcher.group(5);
    matcher = pattern.matcher(content);
    } return content.substring(0,content.length() - 1);
    }
    }
      

  9.   

    先放到map里面然后在迭代放到数组里面
      

  10.   

    import java.util.HashSet;
    public class SetAndArray {
    public static void main(String[] args) {
    HashSet<String> set = new HashSet<String>();
    String str = "1,2,3,5,8,2,3";
    String[] strArr = str.split(",");
    Object[] strArr2 = null;
    for(int i=0;i<strArr.length;i++){
    if(!set.contains(strArr[i])){
    set.add(strArr[i]);
    }
    }
    strArr2 =  set.toArray();
    for (Object string : strArr2) {
    System.out.println(string);
    }
    }
    }
      

  11.   

    public static void main(String[] args) { String str = "1,8,3,5,7,6,9";
    String arr[] = str.split(",");
    Set set = new TreeSet();
    for (int i = 0; i < arr.length; i++) {
    set.add(arr[i]);
    } String array[] = new String[set.size()];
    Iterator iterator = set.iterator();
    for (int i = 0; i < set.size(); i++) {
    array[i] = iterator.next().toString();
    }
    for(int j= 0;j<array.length;j++){
    System.out.print(array[j]);
    }
    System.out.println();
    }这样不知道可以不 大家看下 谢谢!
      

  12.   

    1 .split(",")
    2 new TreeSet();
    3 array[i] = iterator.next().toString();
      

  13.   

    难道 没有 用过SET,如果不能用SET,自己写一个 这东西...
      

  14.   

      用到了set的无重复性  但是这样的话 输出的顺序不一样了
      

  15.   

    treeSet   你要排好序?题目的意思不是这样的
      

  16.   

    HashSet<String> set = new HashSet<String>();
    String str ="1,2,3,5,8,2,3";
    String[] strs = str.split(",");
    for(String s : strs){
    set.add(s);
    }
    String[] ss = (String[])set.toArray();
      

  17.   

    不好意思,应该这样
    HashSet<String> set = new HashSet<String>();
    String str ="1,2,3,5,8,2,3";
    String[] strs = str.split(",");
    for(String s : strs){
    set.add(s);
    }
    String[] ss = new String[set.size()];
    set.toArray(ss);