「java属性顺序」java类属性初始化顺序

博主:adminadmin 2023-03-21 06:28:08 412

今天给各位分享java属性顺序的知识,其中也会对java类属性初始化顺序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

Java类的可比较属性的多个排序

我知道你想从程序设计的角度去考虑问题,但是一般都有个个人认知的局限,程序设计鼓励思考,但是也同样有些规则,比如类和方法的单一功能性。复杂问题可以多步解决,不是一部就是最好的,你可以一步调用一个排序方法,对外只能看到这个方法,但是你内部解决各个排序的时候是调用不同的实现排序接口的类,这样以后维护起来阅读和修改都非常清楚。

import java.util.ArrayList;

import java.util.Comparator;

import java.util.List;

public class goTest1 {

public static ListPerson sortBy(ListPerson list,String key){

if(key == "Height"){

list.sort(new sortByHeight());

}

//自己写其他的

return list;

}

public static void main(String[] agrs){

Person A = new Person("Alex","001", 180.2, 160, 6000);

Person B = new Person("Tom","002", 160.2, 180, 2000);

Person C = new Person("Jerry","003",171.2, 170, 3000);

Person D = new Person("Bob","004", 150.2, 120, 6200);

ListPerson list = new ArrayListPerson();

list.add(A);

list.add(B);

list.add(C);

list.add(D);

for(Person p:list){

System.out.println(p.name);

}

System.out.println();

// list.sort(new sortByHeight());

goTest1.sortBy(list, "Height");

for(Person p:list){

System.out.println(p.name);

}

}

}

class sortByHeight implements ComparatorPerson{

@Override

public int compare(Person arg0, Person arg1) {

return Double.compare(arg0.height, arg1.height);

}

}

class Person{

String name;

String id;

double height;

double weight;

double income;

public Person(String name, String id, double height, double weight,

double income) {

super();

this.name = name;

this.id = id;

this.height = height;

this.weight = weight;

this.income = income;

}

}

Java中对象按照属性排序

项目中经常需要用到比如地区列表按照中文的拼音首字母排序 但是有时候获取到的地区列表是对象的形式 有地区id 地区名称两个属性 这里主要涉及到两个技术点

对象按属性排序 中文按拼音首字母排序 下面给出自己整理好的demo:

import java text Collator;

import java util ArrayList;

import java util Collections;

import java util Comparator;

import mons beanutils BeanComparator;

import llections ComparatorUtils;

import parators ComparableComparator;

import parators ComparatorChain;

public class CompareTipA  {

private int  id;

private String  name;

private String age;

@SuppressWarnings( unchecked )

public static void main(String []args) {

ArrayListObject list = new ArrayListObject()

list add(new CompareTipA( 五 ))

list add(new CompareTipA( 六 ))

list add(new CompareTipA( 二 ))

list add(new CompareTipA( 四 ))

list add(new CompareTipA( 四 ))

list add(new CompareTipA( 一 ))

Comparator mycmp = ComparableComparator getInstance()

mycmp = ComparatorUtils nullLowComparator(mycmp)

//允许null

mycmp = ComparatorUtils reversedComparator(mycmp) //逆序

ArrayListObject sortFields = new ArrayListObject()

ComparatorObject parator=Collator getInstance(java util Locale CHINA)

sortFields add(new BeanComparator( name parator))   //name正序 (主)

sortFields add(new BeanComparator( id mycmp))

//id逆序  (副)

ComparatorChain multiSort = new ComparatorChain(sortFields)

Collections sort(list multiSort)

for (int i = ;ilist size() i++) {

System out println(list get(i))

//输出   /*

[id= name=二 age= ]

[id= name=六 age= ]

[id= name=四 age= ]

[id= name=四 age= ]

[id= name=五 age= ]

[id= name=一 age= ]*/

}

}

public CompareTipA(int id String age String name) {

this id = id;

this name = name;

this age = age;

}

public int getId() {

return this id;

}

public void setId(int id) {

this id = id;

}

public String getName() {

return this name;

}

public void setName(String name) {

this name = name;

}

//

public int pareTo(Object o) {   //

return pare(this o)    //    }

public String toString() {

return [id= + this id + name= + this name + age= + this age + ] ;

}

public String getAge() {

return age;

}

public void setAge(String age) {

this age = age;

}   }

注意 需要导入的三个包 mons beanutils jar

mons collections jar

mons logging jar

lishixinzhi/Article/program/Java/hx/201311/25790

java中如何进行属性值排序

不太明白什么意思

如果是对象数组排序

java.util.Arrays.sort(要排序的数组,排序算法);

java属性顺序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java类属性初始化顺序、java属性顺序的信息别忘了在本站进行查找喔。