package practice_index;
import java.util.ArrayList;
import java.util.List;
/*******
* 用集合实现排序,集合中封装对象
* @author tan
*
*
*/
public class Index_collection {
static List<person> list = new ArrayList<person>();
public static void main(String[] args) {
list.add( new person("tan",65));
list.add( new person("yan",78));
list.add( new person("hui",55));
list.add( new person("jr",55));
list.add( new person("aa",86));
list.add( new person("bb",55));
list.add( new person("cn",45));
list.add( new person("dd",36));
list.add( new person("ee",25));
person p = null;
person p1 = null;
person p2 = null;
//两个for循环,其中内循环是用于比较出从第一个对象到最后一个对象当中的最大(小)值,然后将最大(小)值放在最后(前)面
//外循环就让内循环重复集合的size()次,这样,根据对象的某个数字型字段就可以实现排序了
for(int i=0;i<list.size()&&list.size()>0;i++){
for(int j=0;j<list.size();j++){
if(j == 0){
continue;
}
p1 = (person)(list.get(j-1));
p2 = (person)(list.get(j));
//这是升序
if(p1.getGrade() - p2.getGrade() >= 0){
p = p1;
p1 = p2;
p2 = p;
if(list.get(j) != null){
list.remove(j);
list.add(j, p);
}
if(list.get(j-1) != null){
list.remove(j-1);
list.add(j-1,p1);
}
}
//这是降序
// if(p1.getGrade() - p2.getGrade() < 0){
// p = p1;
// p1 = p2;
// p2 = p;
//
// if(list.get(j) != null){
// list.remove(j);
// list.add(j, p);
// }
// if(list.get(j-1) != null){
// list.remove(j-1);
// list.add(j-1,p1);
// }
// }
}
}
int a = list.size();
for(int i=0;i<a;i++){
//如果是降序,就直接写成第"i+1"名
System.out.println("第 "+(list.size()-i)+" 名 "+list.get(i));
}
}
}
class person{
private String name;
private int grade;
public person(String name,int grade){
this.name = name;
this.grade = grade;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getGrade() {
return grade;
}
public void setGrade(int grade) {
this.grade = grade;
}
public String toString(){
return new String("姓名 : "+name+" 得分: "+grade);
}
}
分享到:
相关推荐
java集合某个字段按照中文拼音排序 java集合某个字段按照中文拼音排序
java 对象集合按字段排序
在开发中,我们可能会遇到,我们会根据不同情况对一个List集合进行排序操作,为了方便List集合根据对象中的某一个属性进行排序,开发了此工具类:
主要介绍了Android List(集合)中的对象以某一个字段排序案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
List,List, Object>>,多字段组合排序。提供一个简易的思路,如果需要进行参考。
导入jar 包 调用 String[] arr1 = new String[1]; ... 参数1 排序的集合 参数2 排序的字段(与定义字段一致) 可多个 参数3 排序方式(asc desc) 暂时只支持String 和int的排序 可能有些BUG 敬请谅解
实现了IBindingList , ITypedListIBindingList , ITypedList,ICompare, 绑定到DataGridView可排序. 简单易用.
对ArrayList里装载的对象进行自定义排序(任意对象、任何字段、任何规则) !...ArrayList中可装载任何对象,并以指定的该对象的字段对该集合中的对象进行指定形式的排序(正序、反序)。 任何类通用........
java中按找对象的某个属性进行升序降序的排序
本文为大家介绍下帝国cms选取两个表的集合按某字段排序的具体实现,感兴趣的朋友不要错过
4. * 汉字按照拼音排序的比较器 5. * @author KennyLee 2009-2-23 10:08:59 6. * 7. */ 8.public class PinyinComparator implements Comparator<Object> { 9. public int compare(Object o1, Object o2) { 10...
今天开发同学向我们提了一个紧急的需求,从集合mt_resources_access_log中,根据字段refererDomain分组,取分组中最近一笔插入的数据,然后将这些符合条件的数据导入到集合mt_resources_access_log_new中。...
openapi格式的CLI可以加载OpenAPI文件,通过按层次结构顺序对OpenAPI字段进行排序,并可以使用清晰的缩进将文件输出到JSON或YAML。 在订购旁边,CLI提供了其他选项,用于根据标志,标记,方法和operationID来过滤...
private static SortedMap, Integer> mapSortByKey(Map, Integer> unsort_map) { TreeMap, Integer> result = new TreeMap, Integer>() Object[] unsort_key = unsort_map.keySet().toArray();...
前段时间跟公司前端对接的时候,一个简单的数据库查询,但是前端说将结果按某个属性分组,每组单独一个集合,集合第一个元素为该属性,第二个元素为该属性值相同的所有对象集合,由于是小白一个,这个数据整理也是花...
本文介绍MySQL数据库中执行select查询语句,并对查询的结果使用order by 子句进行排序...下面来看两个例子,第一个查询test表中所有数据,并按t_id正序排列;第二个查询与第一个相反,是逆序排列。 mysql> select t_id,
主要介绍了vue 根据数组中某一项的值进行排序的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
分析函数应用: ...Order by 跟排序字段,range时只能按一个字段排序,使用rows是可以跟多个字段排序 Range 可以使用range 100 preceding 也可跟between and 2、主题分析使用较多的分析函数讨论 Ⅰ、排序分析
要基于模型上的一个或多个字段创建集合,请使用collection参数指定字段名称。 positions.examples的应用程序演示了PositionField API。指标通常,分配给PositionField的值将像列表索引一样处理,以包含负值。 将...