java 怎么把list里面的数据取出来依次比较

java 怎么把list里面的数据取出来依次比较,第1张

import javautilArrayList;

import javautilArrays;

import javautilCalendar;

import javautilCollections;

import javautilDate;

public class CompareDateDemo {

    private static ArrayList<Date> list = new ArrayList<Date>();

    // 静态初始化集合

    static {

        // 插入测试数据

        listadd(new Date());

        Calendar c1 = CalendargetInstance();

        c1set(2010, 11, 22);

        listadd(c1getTime());

        c1set(2011, 11, 22);

        listadd(c1getTime());

        c1set(2012, 11, 22);

        listadd(c1getTime());

        Systemoutprintln(listsize());

    }

    public static void main(String[] args) {

        compare1();

        // compare2();

        // compare3();

    }

    // 利用冒泡法进行排序

    static void compare1() {

        // 输出排序前结果

        Systemoutprintln("排序前:");

        for (int i = 0; i < listsize(); i++) {

            Systemoutprintln(listget(i));

        }

        // 排序(冒泡算法) 将list进行升序排列

        for (int i = 0; i < listsize(); i++) {

            for (int j = 0; j < i; j++) {

                if (listget(i)compareTo(listget(j)) < 0) {

                    Date tempDate = listget(i);

                    listset(i, listget(j));

                    listset(j, tempDate);

                }

            }

        }

        // 输出排序后结果

        Systemoutprintln("排序后:");

        for (int i = 0; i < listsize(); i++) {

            Systemoutprintln(listget(i));

        }

    }

    // 利用Arrays工具类进行排序

    static void compare2() {

        Object[] obj = listtoArray();

        // 输出排序前结果

        Systemoutprintln("排序前:");

        for (int i = 0; i < objlength; i++) {

            Systemoutprintln(obj[i]);

        }

        // 排序

        Arrayssort(obj);

        // 输出排序后结果

        Systemoutprintln("排序后:");

        for (int i = 0; i < objlength; i++) {

            Systemoutprintln(obj[i]);

        }

    }

    // 利用Collections工具类进行排序

    static void compare3() {

        // 输出排序前结果

        Systemoutprintln("排序前:");

        for (int i = 0; i < listsize(); i++) {

            Systemoutprintln(listget(i));

        }

        // 排序

        Collectionssort(list);

        // 输出排序后结果

        Systemoutprintln("排序后:");

        for (int i = 0; i < listsize(); i++) {

            Systemoutprintln(listget(i));

        }

    }

}

import javautilArrayList;

import javautilCollections;

import javautilComparator;

import javautilList;

public class ArrayListOrder {

public static void main(String[] args) {

List<List<Integer>> list = new ArrayList<List<Integer>>();

List<Integer> arrayList1 = new ArrayList<Integer>();

arrayList1add(2);

arrayList1add(5);

arrayList1add(6);

listadd(arrayList1);

List<Integer> arrayList2 = new ArrayList<Integer>();

arrayList2add(2);

arrayList2add(4);

arrayList2add(6);

listadd(arrayList2);

List<Integer> arrayList3 = new ArrayList<Integer>();

arrayList3add(2);

arrayList3add(6);

arrayList3add(6);

listadd(arrayList3);

List<Integer> arrayList4 = new ArrayList<Integer>();

arrayList4add(2);

arrayList4add(1);

arrayList4add(6);

listadd(arrayList4);

for (List<Integer> tmpList : list) {

Systemoutprint(tmpListget(1)+"   ");

}

Systemoutprintln("");

//排序

Collectionssort(list,new Comparator<List<Integer>>(){

public int compare(List<Integer> list1, List<Integer> list2) {

//比较每个ArrayList的第二个元素

if(list1get(1)==list2get(1)){

return 0;

}else if(list1get(1)>list2get(1)){

return 1;

}else{

return -1;

}

}

});

for (List<Integer> tmpList : list) {

Systemoutprint(tmpListget(1)+"   ");

}

}

}

ArrayList中元素的排序是通过equals方法进行的,你把equals方法重写一下,按照你说的时间来排序就好了,至于合并为一个列表就很简单了啊,你先把listA里面的元素加进来,再把listB里面的元素加进来不就行了,如果有重复的话,会加不进去

SharedPreferences Editor editor=getSharedPreferences("list", MODE_WORLD_WRITEABLE)edit(); List list=new ArrayList(); editorputInt("size", listsize()); for(int i=0;i list2=new ArrayList(); for(int j=size-1;j<0;j--){ String s=spgetString("P_"+j, ""); list2add(s); }大致是这样的

这个其实很简单,先给你提供下思路,别使用自带 sort() 排序。自己写个排序算法,根据list1分数排序,在排序的过程中同时将list2姓名根据list1的排序算法走一遍,即可得到对等的序列。

#-- coding:utf-8 --

name = ['a', 'b', 'c', 'd', 'e', 'f']

score = [96, 97, 92, 93, 99, 91]

def insert_sort2(num_list, name):

    """

    插入排序, 稍微修改之后

    """

    for i in range(len(num_list)-1):

        for j in range(i+1, len(num_list)):

            if num_list[i]>num_list[j]:

                num_list[i],num_list[j] = num_list[j],num_list[i]

                name[i],name[j] = name[j],name[i]

    return num_list,name

print insert_sort2(score, name)

def insert_sort(num_list):

    """

    插入排序,正常的

    """

    for i in range(len(num_list)-1):

        for j in range(i+1, len(num_list)):

            if num_list[i]>num_list[j]:

                num_list[i],num_list[j] = num_list[j],num_list[i]

    return num_list

# 输出: ([91, 92, 93, 96, 97, 99], ['f', 'c', 'd', 'a', 'b', 'e'])

# 使用 list1,list2 = insert_sort(list1, list2) 这样就可以得到了

以上就是关于java 怎么把list里面的数据取出来依次比较全部的内容,包括:java 怎么把list里面的数据取出来依次比较、java 怎么将List里面数据排序、两个list列表排序的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9873456.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存