package
com.ebizserve.tarket.service.command;
import
java.util.ArrayList;
import
java.util.Collections;
import
java.util.HashSet;
import
java.util.Iterator;
import
java.util.List;
import
java.util.Set;
import
org.apache.log4j.Logger;
public
class
Test {
private
static
Logger
logger
= Logger.getLogger(Test.
class
);
public
static
void
main(String[] args) {
int
index;
Set<Float> set =
new
HashSet<Float>();
List<Float> list =
new
ArrayList<Float>();
set.add( 68.1f );
set.add( 68.0f );
set.add( 68.3f );
set.add( 68.2f );
for
(Iterator it = set.iterator(); it.hasNext();) {
list.add((Float) it.next());
}
// Collections.sort
()方法用于自然排序
List
对象
;
Collections.sort(list);
for
(Float l : list) {
logger
.info(
"
自然排序
:"
+ l);
}
logger
.info(
"-------------------------------------"
);
// Collections.reverse
()方法用于倒转排序
List
对象
;
Collections.reverse(list);
for
(Float l : list) {
logger
.info(
"
倒转排序
:"
+ l);
}
// Collections.binarySearch()
方法检索对象所在位置
;
int
k = Collections.binarySearch(list,
new
Float(68.0));
// list.indexOf()
方法检索对象所以位置;
// int k = list.indexOf( 68.0f );
logger
.info(
"k---------"
+ k);
index = k + 1;
logger
.info(
"index---------"
+ index);
}
}
Collections.binarySearch()方法查找的索引位置不正确,后改为用List.indexOf()方法;请同志们分析下。