java中集合工具类:java.util.Collections类

关于集合工具类: java.util.Collections; 类
【注意】 java.util.collection;是接口 注意区分

package com.company.collectionsUtil;
/*
    关于集合工具类: java.util.Collections; 类

    【注意】 java.util.collection;是接口  注意区分
*/
import java.util.*;

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

        // 使用collection工具完成集合的排序
        List l = new ArrayList();

        // 添加元素
        l.add(10);
        l.add(5);
        l.add(20);
        l.add(30);

        // 遍历(List集合特有的遍历方式)
        for(int i=0; i<l.size(); i++){
            System.out.println(l.get(i));
        }
        System.out.println("========================");
        // 或者采用迭代器
        for(Iterator it=l.iterator(); it.hasNext();){
            System.out.println(it.next());
        }
        System.out.println("========================");

        // 排序 Collections.sort() 只能对Set集合进行排序
        Collections.sort(l);

        for(Iterator it=l.iterator(); it.hasNext();){
            System.out.println(it.next());
        }
        System.out.println("========================");


        // 这里给定一个Set集合
        Set s = new HashSet();

        s.add(1);
        s.add(10);
        s.add(9);
        s.add(8);
        s.add(7);

        // 使用Collections.sort()对Set集合无法排序
        //Collections.sort(s);

        // 将Set集合转换成List集合
        List listS = new ArrayList(s);
        Collections.sort(listS);
        for(Iterator it=listS.iterator(); it.hasNext();){
            System.out.println(it.next());
        }
        System.out.println("========================");


        // 创建List集合,List集合中存储Person类型,是否可以排序?
        // Collections工具类可以对List集合中的元素排序,但是集合中的元素必须是“可比较的”,即实现Comparable接口

        List ps = new ArrayList();

        ps.add(new Product(3.14));
        ps.add(new Product(2.23));
        ps.add(new Product(2.45));
        ps.add(new Product(7.32));
        ps.add(new Product(6.26));

        Collections.sort(ps);
        for(int i=0; i<ps.size(); i++){
            System.out.println(ps.get(i));
        }



        // 将ArrayList集合转换成线程安全的
        List myList = new ArrayList();
        Collections.synchronizedList(myList);

    }
}

class Product implements Comparable{
    double price;

    Product(double price){
        this.price = price;
    }

    public String toString(){
        return "Product[price:" + price +"]";
    }

    public int compareTo(Object o){
        double price1 = this.price;
        double price2 = ((Product)o).price;

        if(price1 < price2 ){
            return -1;
        }else if(price1 > price2){
            return 1;
        }else{
            return 0;
        }

    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值