重新排列的ArrayList按字母顺序 [英] Rearrange ArrayList in Alphabetical Order

查看:110
本文介绍了重新排列的ArrayList按字母顺序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

什么是重新排列方面的ArrayList的最佳方法,使期限('C',1),期限('H',1)期限('C',1),期限( 'H',1)期限('C',1),期限('H',1)变成期限('C',1),期限('C',1),期限('C',1 ),期限('H',1),期限('H',1),期限('H',1)

What is the best way to rearrange an arraylist of terms so that Term('C',1),Term('H',1)Term('C',1),Term('H',1)Term('C',1),Term('H',1) turns into Term('C',1),Term('C',1),Term('C',1),Term('H',1),Term('H',1),Term('H',1)

我的code到目前为止如下:我不希望使用集合:

My code so far is below: and I don't want to use collections:

    public void makeMolecular()
{
    Term define = null;
    char testAlpha = 'Z';
    int testAtoms = 0;
    int remember = 0;
    Term replacer = null;
    int increase = 0;
    for(int j = 0; j < terms.size(); j++){
        if (j < terms.size()){
           for(int i = 0 + increase; i<terms.size(); i++){
              Term termX = terms.get(i);
              char charX = termX.getElement();
              int intX = termX.getAtoms();
              if (charX < testAlpha){
                  testAlpha = charX;
                  testAtoms = intX;
                  define = termX;
                  remember = i;
              }
              else {
                  continue;
              } 
           }
           terms.remove(remember);
           terms.add(0,define);
           increase = increase+1;
           //System.out.println(terms);
        } 
        else {
            break;
        }
    }
    //System.out.println(terms);        
}

这当前code打印保持正确的第一次迭代,但在此之后东西了。任何帮助是极大的AP preciated。

This current code keeps printing the correct first iteration, but stuff up after that. Any help is greatly appreciated.

推荐答案

假设你的期限对象先后为code进行访问....

Assuming that your Term Object has a accessor for the code....

public class CustomComparator implements Comparator<MyObject> {
    @Override
    public int compare(MyObject o1, MyObject o2) {
        return o1.getTermCode() > (o2.getTermCode();
    }
}

然后用东西把它像

Then call it with something like

Collections.sort(yourList, new CustomComparator());

这篇关于重新排列的ArrayList按字母顺序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆