非常直接:
我正在尝试使用 compareTo 查找连续的字符串序列并将它们保存到两个不同的数组列表中。
仅当下一个字符串在字典上等于或大于前一个字符串时,每个 ArrayList 才应继续添加字符串。即:如果 ArrayList 包含 [Aaaaa,Bbbbb,Ccccc,Aaaaa,Bbbbb,Aaaa,Fffff] 我希望他们将它们分成两个 ArrayList 为:
ArrayList 1 包含连续升序字符串的第一个序列: [Aaaaa,Bbbbb,Ccccc] . 然后,ArrayList 2 应该包含紧随其后的连续升序序列:[Aaaaa,Bbbbb],然后再次切换到 ArrayList 1 并附加下一个序列,所以现在 ArrayList 1 应该是:[Aaaaa,Bbbbb,Ccccc] + [Aaaa,Fffff] 等等。我试过这个:
static ArrayList<String> separateArray(ArrayList<String> list){
ArrayList<String> F1 = new ArrayList<String>();
ArrayList<String> F2 = new ArrayList<String>();
for(int i=0; i<list.size()-1;i++){
if((list.get(i).compareTo(list.get(i+1))<=0))
F1.add(list.get(i));
F1.add(list.get(i+1));
for(int j=i;j<list.size()-1;j++){
if((list.get(j).compareTo(list.get(j+1))<=0))
F2.add(list.get(j));
}
}
}
我已经尝试了很多其他的事情和方法来完成这项工作,但我就是想不通。我怎样才能实现从添加到 F1 到 F2 再到 F1 等等的“切换”?