java中一个List集合,放的都是从不同的表中查出来的数据,请问我怎样可以根据其中的一个字段进行list排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中一个List集合,放的都是从不同的表中查出来的数据,请问我怎样可以根据其中的一个字段进行list排序相关的知识,希望对你有一定的参考价值。

用 Collections.sort()排序,给你个例子,你参考下

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class $ 
    public static void main(String[] args) 

        List<Bean> data = new ArrayList<Bean>();
        data.add(new Bean("aaaaa", 20));
        data.add(new Bean("bbbbb", 10));

        System.out.println("排序前:" + data);

        Collections.sort(data, new Comparator<Bean>() 
            public int compare(Bean o1, Bean o2) 
                return o1.getName().compareTo(o2.getName());
            
        );
        System.out.println("按name升序:" + data);

        Collections.sort(data, new Comparator<Bean>() 
            public int compare(Bean o1, Bean o2) 
                return o2.getName().compareTo(o1.getName());
            
        );
        System.out.println("按name降序:" + data);

        Collections.sort(data, new Comparator<Bean>() 
            public int compare(Bean o1, Bean o2) 
                return o1.getAge() - o2.getAge();
            
        );
        System.out.println("按age升序:" + data);

        Collections.sort(data, new Comparator<Bean>() 
            public int compare(Bean o1, Bean o2) 
                return o2.getAge() - o1.getAge();
            
        );
        System.out.println("按age降序:" + data);
    


class Bean 

    private String name;

    private int age;

    public Bean(String name, int age) 
        this.name = name;
        this.age = age;
    

    public String getName() 
        return name;
    

    public void setName(String name) 
        this.name = name;
    

    public int getAge() 
        return age;
    

    public void setAge(int age) 
        this.age = age;
    

    public String toString() 
        return "[" + name + "," + age + "]";
    

追问

我的List中放的不是一个实体类啊,而是从多张表中查询出来的数据

参考技术A 把这个list集合中的所有元素,全部都把这个元素的要比较字段的值取出来放到数组里边,
然后对这些值进行排序,再对应到list集合即可本回答被提问者采纳
参考技术B 需要自己写一个比较器
假设类型是
class 你的类型
public 字段类型 字段名;//这里为了方便设置成public 千万别学哦~

自己写的比较器:
Comparator<你的类型> com=new Comparator<你的类型>()
public int compare(你的类型 left,你的类型 right)
自己定义比较规则;
如果 "小于"则返回-1 等于返回0 "大于"返回1;
//至于怎样算是 "小于" 靠你自己定义了

;

在c#如何将listview中的数据保存到数据库中的表中

感激

private void listView1_Click(object sender, EventArgs e)//listview点击事件

if (this.listView1.SelectedItems == null) return;
ListViewItem item = this.listView1.SelectedItems[0];//选中的ltem

if (this.comboBox1.SelectedIndex == -1) return;
if (item == null) return;

//把每一项里的值取出来
string a = item.SubItems[0].Text.ToString();
string b = item.SubItems[1].Text.ToString();
string c = item.SubItems[2].Text.ToString();
string d = item.SubItems[3].Text.ToString();

然后你用ADO连接数据库,写insert语句,把取出来的值当参数传给SQL语句。就可以了 思路大概是这样的,希望你帮助你~
参考技术A Ctrl+C
Ctrl+V

以上是关于java中一个List集合,放的都是从不同的表中查出来的数据,请问我怎样可以根据其中的一个字段进行list排序的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中List集合的汉字排序

java获取list相同的数据

怎么用Qt的TableView来显示数据,数据有些来自MySQL的表中(多张不同的表),并且有些数据并不是从MySQL取

stream中查库,属于循环查库吗

利用List集合实现栈的先进后出?

java将数据库中菜单表中内容转化成一个导航树