把g.5 g.33 g.146 g.194 g.407 g.299 g.71 g.510 g.488 g.21 g.4 g.453 g.75 g.438 g.446 g.69 g.246 g.470 g.156 按
以下顺序排序
g.146 g.156 g.194 g.21 g.246 g.299 g.33 g.4 g.407 g.438 g.446 g.453 g.470 g.488 g.5 g.510 g.69 g.71 g.75
用java实现   

解决方案 »

  1.   

    Arrays.sort()不让用就直接按字符串的大小排序就可以。
      

  2.   

    arrays是什么类型变量,字符数组吗?
      

  3.   


    是一个类,一般数组的显示的排序都可以用它。
    String strArray = {"g.5", "g.33" ...
    Arrays.sort(strArray);
      

  4.   

    import java.util.*;
    public class Hello {
    public static void main(String[] args) {
    List <String> link = new ArrayList<String>();
    link.add("g.5");
    link.add("g.33");
    link.add("g.146");
    link.add("g.194");

    Collections.sort(link);
    System.out.print(link);
    }
    }
      

  5.   

    import java.util.Arrays;public class Test9 { public static String arr[] = { "g.5", "g.33", "g.146", "g.194", "g.407",
    "g.299", "g.71", "g.510", "g.488", "g.21", "g.4", "g.453", "g.75",
    "g.438", "g.446", "g.69", "g.246", "g.470", "g.156" }; /**
     * @param args
     */
    public static void main(String[] args) { // 1 使用系统提供的Arrays对数组排序
    // Arrays.sort(arr);
    // for (int i = 0; i < arr.length; i++) {
    // System.out.print(arr[i] + " , ");
    // }

    //2 快速排序
    QuickSort qs = new QuickSort() ;
    qs.quickSort(arr, 0, arr.length-1 ) ;
    for (int i = 0; i < arr.length; i++) {
    System.out.print(arr[i] + " , ");
    }
    }}class QuickSort {
    // 划分数组
    int partion(String array[], int p, int r) {
    String x = array[r];
    int i = p - 1; // 把i设成负值,然后作为移动的标志
    int j;
    for (j = p; j < r; j++) {
    if (array[j].compareTo(x) < 0) {
    i++;
    String temp = array[j];
    array[j] = array[i];
    array[i] = temp;
    }
    }
    String temp = array[j];
    array[j] = array[i + 1];
    array[i + 1] = temp;
    return i + 1; // 返回的应该是交换后的哨兵的位置
    } // 递归解决每个划分后的小数组
    void quickSort(String[] array, int p, int r) {
    if (p < r) {
    int q = partion(array, p, r);
    quickSort(array, p, q - 1);
    quickSort(array, q + 1, r);
    }
    }
    }
      

  6.   


    把数据放到TreeSet里,再打印就可以了吧
      

  7.   

    这是容器里面的知识,建议楼主好好看下,List ,Map,Set三类。
    List类放的数据,无序可重复。
    Set类放的数据不能重复
    Map放的是键值对。
      

  8.   

    package com.one;import java.io.File;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;/**
     * Collections order by
     * @author liu jian
     *
     */
    public class TestCollections {
    public static void main(String[] args) {
    String path = File.separator;
    File file = new File("D"+path+"每周情况");
    FileCollections(file);


    } private static void FileCollections(File file) {
    System.out.println(file);
    final Map  map = new HashMap();
    List list = new ArrayList();

    File[] files = file.listFiles();
    for(File fileCode:files){
    if(fileCode.isDirectory()){
    FileCollections(fileCode);
    }

    map.put("Filename",fileCode.getName());
    map.put("FileModfy",fileCode.lastModified());
    map.put("FileLength",fileCode.length());
    list.add(map);
    break;
    }

    Collections.sort(list, new Comparator<Map>() { @Override
    public int compare(Map o1, Map o2) {
    // TODO Auto-generated method stub
    String FileModfy =(String) map.get("FileModfy");
    String FileModfy2 =(String)map.get("FileModfy");
    return 0;
    }
    });
    }
    }这是我写的一段代码,关于List排序的问题,