java arraylist 的sort怎么用

java arraylist 的sort怎么用,第1张

排序中,最重要的是自己实现自己的比较的行数,即是implements Comparator

实现方法 public int compare(Object o1, Object o2) 最为重要..

举个例子:

package book.arrayset

import java.util.Comparator

/**

* 整数比较器,将整数按降序排列

*/

class MyIntComparator implements Comparator{

/**

* o1比o2大,返回-1;o1比o2小,返回1。

*/

public int compare(Object o1, Object o2) {

int i1 = ((Integer)o1).intValue()

int i2 = ((Integer)o2).intValue()

if (i1 <i2){

return 1

}

if (i1 >i2){

return -1

}

return 0

}

}

//上面的为比较的函数实现,下面真正的添加数据,

//通过调用上面的比较函数实现自定义排序的功能

package book.arrayset

import java.util.ArrayList

import java.util.Collections

import java.util.List

/**

* 对List中的元素排序

*/

public class SortList {

public static void output(List list){

if (list == null){

return

}

for (int i=0i<list.size()i++){

System.out.print(list.get(i).toString() + " ")

}

System.out.println()

}

public static void main(String[] args) {

List list = new ArrayList()

list.add(new Integer(5))

list.add(new Integer(8))

list.add(new Integer(1))

list.add(new Integer(3))

list.add(new Integer(2))

list.add(new Double(3.1))

System.out.println("list开始状态")

SortList.output(list)

//Collections.sort方法将用默认比较器排列list的元素

Collections.sort(list)

System.out.println("list被默认比较器排序后的状态")

SortList.output(list)

//下面将list的元素按降序排列

Collections.sort(list, new MyIntComparator())

System.out.println("list被自定义比较器排序后的状态")

SortList.output(list)

//因此,对于任意自定义类的对象,当保存在集合类容器中后,如果需要对它们进行排序,

//需要自己提供适应于自定义类的比较器,自定义比较器必须实现Comparator接口。

//然后采用Collections.sort(list, comparator)方法对容器进行排序。

}

}

将常用的排序模式定制为宏,然后将该宏附加在一个按钮上。今后只要点击这个按钮就可以实现自动排序。

第一步:创建宏。(本例用记录宏的方式)

点击开发工具-录制宏。如图:

手动设定排序。关键字选择产品代码-业务员。如图:

排序完成后,点击停止录制宏。如图:

这样排序的宏就创建好了。对代码稍作修改(多余的删除,如果是初学者确定不了的情况下不调整的话问题也不大)代码如下:

Sub 我的排序()

'

' 我的排序 Macro

'

'

Range("A1:G699").Select

ActiveWorkbook.Worksheets("高级筛选").Sort.SortFields.Clear

ActiveWorkbook.Worksheets("高级筛选").Sort.SortFields.Add Key:=Range("D2:D12"), _

SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

ActiveWorkbook.Worksheets("高级筛选").Sort.SortFields.Add Key:=Range("C2:C12"), _

SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal

With ActiveWorkbook.Worksheets("高级筛选").Sort

.SetRange Range("A1:G12")

.Header = xlYes

.MatchCase = False

.Orientation = xlTopToBottom

.SortMethod = xlPinYin

.Apply

End With

End Sub

第二步:创建按钮后附加宏。点击开发工具-插入-选择按钮。如图:

插入按钮后制定宏。如图:

对按钮重新命名为:我的排序。这样就完成了。数据变动后需要再排序时,只要点击这个按钮就可以了。

你给0分,我就给你思路吧。

一个类有一个数组,默认长度为10

添加的时候,你就给数组中最后一个不为空的一个元素赋值,如果赋到最后一个,新建一个数组,加在此数组的后面,这样实现Add()

find();你就循环一下吧

sort()也可以循环得到新数组


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

原文地址:https://54852.com/bake/11368531.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存