重新排列的ArrayList按字母顺序 [英] Rearrange ArrayList in Alphabetical Order
问题描述
什么是重新排列方面的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屋!