Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaME中对字符串向量进行排序?_Java_Java Me_Sorting - Fatal编程技术网

如何在JavaME中对字符串向量进行排序?

如何在JavaME中对字符串向量进行排序?,java,java-me,sorting,Java,Java Me,Sorting,我有一个整数向量(数据库表的主键);我实现了一个基于这个主键整数返回字符串的方法。我的问题是我想把这些字符串放到一个向量中,它们在向量中被“排序”。如何实现此字符串排序?您可以使用树集,该树集将保持字符串的排序顺序,或者在返回字符串之前使用类似的方法: Collections.sort(yourVector); 另一种方法是要求数据库按主键排序。让数据库来完成这项工作 您的查询返回的可能不止是主键。我想知道为什么要在字符串和主键的原始级别上处理事情。我敢打赌你对物体的思考不够。如果有主键,其他

我有一个整数向量(数据库表的主键);我实现了一个基于这个主键整数返回字符串的方法。我的问题是我想把这些字符串放到一个向量中,它们在向量中被“排序”。如何实现此字符串排序?

您可以使用
树集
,该树集将保持字符串的排序顺序,或者在返回字符串之前使用类似的方法:

Collections.sort(yourVector);
另一种方法是要求数据库按主键排序。让数据库来完成这项工作

您的查询返回的可能不止是主键。我想知道为什么要在
字符串和主键的原始级别上处理事情。我敢打赌你对物体的思考不够。如果有主键,其他数据应该紧随其后。我会将它们封装在一起,并担心如何对这些对象进行排序


为什么
向量
?我更喜欢
ArrayList
,因为默认情况下它是不同步的。更好的性能。

将向量传递给静态方法
集合。排序(向量)
不确定要如何排序,但此方法将根据向量中包含的对象的自然顺序进行排序,该顺序由每个对象的
比较方法给出


可能可以进一步帮助您。

如果是Java,您正在寻找

Collections.sort(vector);

您需要通过实现接口来实现自己的比较器

像这样的事情应该可以做到:

Collections.sort(vect, new Comparator() {
  public int compare(Object a, Object b) {
    return ( new Integer(((MyClass) a).getNumber()) ).compareTo( new Integer(((MyClass) b).getNumber()));
  }
});

取自。

Vector比ArrayList慢,因为它是线程安全的集合

但是,排序操作不是线程安全的。因此,要以线程安全的方式对向量进行排序,需要对其进行同步

synchronized(vector) {
    Collections.sort(vector);
}

如果您不需要该集合是线程安全的,请考虑使用ARARYList.< /P> <代码>导入java. UTIL向量;

import java.util.Vector;
import java.util.Collections;

public class SortJavaVectorExample {

public static void main(String[] args) {

//create Vector object
Vector v = new Vector();

//Add elements to Vector
v.add("1");
v.add("3");
v.add("5");
v.add("2");
v.add("4");

/*
  To sort a Vector object, use Collection.sort method. This is a
  static method. It sorts an Vector object's elements into ascending order.
  */
Collections.sort(v);

//display elements of Vector
System.out.println("Vector elements after sorting in ascending order : ");
for(int i=0; i<v.size(); i++)
System.out.println(v.get(i));

}
}
导入java.util.Collections; 公共类SortJavaVectore示例{ 公共静态void main(字符串[]args){ //创建向量对象 向量v=新向量(); //向向量添加元素 v、 添加(“1”); v、 添加(“3”); v、 添加(“5”); v、 添加(“2”); v、 添加(“4”); /* 要对向量对象进行排序,请使用Collection.sort方法 静态方法。它将向量对象的元素按升序排序。 */ 收集.分类(五); //矢量的显示元素 System.out.println(“升序排序后的向量元素:”);
对于(inti=0;i,使用以下代码在JavaME中对向量进行排序

public Vector sort(Vector sort) {
        Vector v = new Vector();
        for(int count = 0; count < e.length; count++) {
            String s = sort.elementAt(count).toString();
            int i = 0;
            for (i = 0; i < v.size(); i++) {
                int c = s.compareTo((String) v.elementAt(i));
                if (c < 0) {
                    v.insertElementAt(s, i);
                    break;
                } else if (c == 0) {
                    break;
                }
            }
            if (i >= v.size()) {
                v.addElement(s);
            }
        }
        return v;
    }
公共向量排序(向量排序){
向量v=新向量();
对于(int count=0;count=v.size()){
v、 增编;
}
}
返回v;
}

您可以使用Collections类,该类将按排序顺序保存字符串,也可以在返回字符串之前使用类似的方法:

如果要按升序排序,请仅使用

Collections.sort(将您的……列表/ARRAYLIST/VECTOR对象放在这里);

如果要按降序排序,请仅使用

**排序(将您的…列表/ARRAYLIST/VECTOR对象放在这里)**
**Collections.reverse(将您的…列表/ARRAYLIST/VECTOR对象放在这里);**

OP没有指定键的排序方式,我发布了这个,以防默认键不起作用。别忘了添加参考链接:嘿,伙计们,他在问java me。java me从不支持集合。@Andy:1的问题问得很清楚。因为每个人都认为你是在问java。试着正确地发布。