Java 如何对ArrayList排序<;字符串>;根据具体指标范围
我需要根据特定的索引范围对字符串的ArrayList进行排序。例如,我在列表中有以下项目:Java 如何对ArrayList排序<;字符串>;根据具体指标范围,java,sorting,arraylist,Java,Sorting,Arraylist,我需要根据特定的索引范围对字符串的ArrayList进行排序。例如,我在列表中有以下项目:[“abc”、“xyz”、“pqr”、“asd”]现在我想对这个列表从索引1到最后一个索引进行排序 我认为有一种方法可以从主列表中创建一个子列表,其中包含所需的索引范围,对其进行排序并相应地添加子列表。但我的问题是: 是否已经有任何API可用于此?或者任何其他更快的方法来实现这一点。您应该这样做 Collections.sort(yourList.subList(1, yourList.size()));
[“abc”、“xyz”、“pqr”、“asd”]
现在我想对这个列表从索引1到最后一个索引进行排序
我认为有一种方法可以从主列表中创建一个子列表,其中包含所需的索引范围,对其进行排序并相应地添加子列表。但我的问题是:
是否已经有任何API可用于此?或者任何其他更快的方法来实现这一点。您应该这样做
Collections.sort(yourList.subList(1, yourList.size()));
由于
List.subList
方法返回列表的视图,因此Collections.sort
所做的修改也会影响支持列表。DetailsVOTemp
Model have Time and Add set get方法
我已经有了一个列表,它是一个名为list的列表
从列表中获取时间和lat long,并将其存储在两个ArrayList
中,然后最终对其进行排序
List< DetailsVOTemp> firstlist = new ArrayList<>();
List<DetailsVOTemp> secondlisr = new ArrayList<>();
for (int i = 0; i < list.size(); i++) {
DetailsVOTemp mDetailsVOTemp = new DetailsVOTemp();
mDetailsVOTemp.setTime(list.get(i).getTime());
mDetailsVOTemp.setAdd(list.get(i).getLatLong());
mVoTemps.add(mDetailsVOTemp);
}
for (int i = 0; i < list.size(); i++) {
DetailsVOTemp mDetailsVOTemp = new DetailsVOTemp();
mDetailsVOTemp.setTime(list.get(i).getDropOffTime());
mDetailsVOTemp.setAdd(list.get(i).getDropLatLong());
mVoTemps1.add(mDetailsVOTemp);
}
mVoTemps.addAll(mVoTemps1);
Collections.sort(mVoTemps, new Comparator<DetailsVOTemp>() {
@Override
public int compare(DetailsVOTemp o1, DetailsVOTemp o2) {
return o1.getTime().compareTo(o2.getTime());
}
});
StringBuilder mBuilder = new StringBuilder();
StringBuilder mBuilder1 = new StringBuilder();
for (int i = 0; i < mVoTemps.size(); i++) {
mBuilder1.append(mVoTemps.get(i).getTime() +" :: ");
mBuilder.append(mVoTemps.get(i).getAdd() +" :: ");
}
Log.d("Time : ", mBuilder1.toString());
Log.d("Address : ", mBuilder.toString());
Listfirstlist=newarraylist();
List secondlisr=new ArrayList();
对于(int i=0;i