
实现方法 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()也可以循环得到新数组
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)