您的位置:首页 > 编程语言 > Java开发

java的collections的sort的API

2016-05-06 19:49 197 查看
这里是有关JAVA的collections的sort 的有关知识

一:

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

public class SortListDSemo2 {
public static void main(String[] args) {

List<Point> list=new ArrayList<Point>();
list.add(new Point(4,5));
list.add(new Point(2,4));
list.add(new Point(4,6));
list.add(new Point(9,6));
System.out.println(list);
/*
* collections 的Sor方法要求排序的集合元素必须实现Comparable接口
* 该接口用于表示可比较 其提供了一个抽象方法comparaTo用于定义比较规则。
*
*/
Collections.sort(list);
System.out.println(list);
}

}


二:

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

/**
* collections的sort方法有两个不足:
* 1:要求我们的集合元素必须实现comparable接口
*	这样就对我们的类有较强的“侵入性”;
* 2:有时集合元素实现了comparale接口并定义了比较大小的规则
* 但是该规则不满组我们对排序的需求
* collections提供了一个重载的sort方法:
* static void sort(list list,comparable c)
* 该重载方法要求我们传入一个额外的比较器
* 按照比较器的规则来比较集合中的元素进行自然排序
* @author soft01
*
*/
public class Demo1 {
public static void main(String[] args) {
List<String> list=new ArrayList<String>();
list.add("小明语句16时19分05秒");
list.add("黎明");
list.add("窗前没有光");
System.out.println(list);
MyComparator com=new MyComparator();
Collections.sort(list,com);
System.out.println(list);
//【<span style="font-family: Arial, Helvetica, sans-serif;">黎明  </span><span style="font-family: Arial, Helvetica, sans-serif;">窗前没有光 小明语句16时19分05秒</span><span style="font-family: Arial, Helvetica, sans-serif;">】</span>

}
}
class MyComparator implements Comparator<String>{

@Override
public int compare(String o1, String o2) {
return o1.length()-o2.length();//对比集合中元素的长度,比较哪个的元素比较长
}

}


杂例:java的Collection的Api

测试代码:

import java.util.ArrayList;
import java.util.Collection;

/*
* java.util.Collection
*这是个集合操作 可以存放一组元素,提供了元素的相关问操作
*派生了两个子接口
*List:元素不可重复
*Set:元素可以重复
*/
public class Demo1 {
public static void main(String[] args) {
/*boolezn add(E e)
* 向集合中添加一个元素
*/
Collection c =new ArrayList();
c.add("one");
c.add("two");
c.add("three");
System.out.println(c);
/*
* int size()
* 获取长度
*/
System.out.println("size:"+c.size());
/*
* boolean isEempty()
* 判断集合是否不包含任何元素
*/
boolean isEmpty=c.isEmpty();
System.out.println(isEmpty);
/*
* void clear()
* 清空集合
*/
c.clear();
System.out.println(c.isEmpty());
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: