
正文
java代码对象属性分组,java按对象属性排序
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java集合遍历分组问题
是相同groupcode的放在同一个List中吧?
ListString group=new ArrayList();//存储groupcode
Map(String Listoption) map=new HashMap();
for(i=0;ilist=size();i++){
Listoption ops = map.get(list.get(i).getGroupcode());
if(ops != null ops.size != 0) {
ops.add(list.get(i));
}else {
group.add(list.get(i).getGroupcode());
map.put(list.get(i).getGroupcode(), list.get(i));
}
}
相关问答
Q1: 在Java中怎么把List集合中的对象分成每100条为一组
分组的话 可不可以考虑从0到99提取出来存到另一个List,然后100到199存到下一个List,依次类推呢?利用for循环应该能做到
Q2: JAVA 设置一个对象的多个属性
这确实是java语言的复杂性。不过了那可以变项的来作:
方式一:(包装一下)
在对象类中增加一个方法 setAttribute(参数些)
然后在里面实现赋值,这里面可以不指定对象引用
方式二: (改装一下setX方法,增加返回值)
假设该对象为A
改造后的seta方法如下
A seta(""){
// set值
return this;
}
这样可以如下写,稍微方便点
d.seta("").setb("").setc("")
方式三:利用反射赋值,这可以一定程度好看点,具体的就不说了
不过java语言已然根本上限制了灵活性,一样会显得很笨。
Q3: java 数据分组
输入两个文件,最好是选择输入文件而不是在代码里指定输入文件(这个我一直没弄好。)
可以这样解决,用java中的swing写一个file,然后找到你要的那个文件,接着将其完整的路径用string保存下来,就可以了。
2.输出在samplelist中存在,在a.txt中出现的一组数据(组的定义是指看起来是描述这个事物的一组数据,这个我一直没弄懂该怎么分组)
这个我不是很明白
Q4: 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按对象属性排序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






