Java基础学习笔记二十九 Collections工具类

本文介绍了Java中Collections工具类的常用方法,包括排序、随机排列、逆序排列等操作,并通过实例展示了如何使用这些方法来操作List集合。同时,还探讨了如何使用Map和List容器来存储表格数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Collections工具类

类java.util.Collectios提供了对Set、List、Map进行排序、填充、查找元素的辅助方法。

  • 1,void sort(List) // 对List容器内的元素排序,排序的规则是按照升序进行排序
  • 2,void shuffle(List) // 对List容器内的元素进行随机排列。
  • 3,void reverse(List) //对List容器内的元素进行逆序排列
  • 4,void fill(List,Object) //用一个特定的对象重写整个List容器
  • 5,int binarySearch(List,Object) //对于顺序的List容器,采用折半查找的方法查找特定对象

示例:Collections工具类的常用方法

import java.util.*;
public class Test {
	public static void main(String[] args){
		List<String> aList = new ArrayList<String>();
		for (int i=0;i<5;i++){
			aList.add("a" + i);
		}
		System.out.println(aList);
		Collections.shuffle(aList);//随机排列
		System.out.println(aList);
		Collections.reverse(aList); //逆序
		System.out.println(aList);
		Collections.sort(aList); // 排序
		System.out.println(aList);
		//二分法查找
		System.out.println(Collections.binarySearch(aList,"a2"));
		Collections.fill(aList,"Hello");
		System.out.println(aList);
	}
}

运行结果

[a0, a1, a2, a3, a4]
[a0, a2, a4, a3, a1]
[a1, a3, a4, a2, a0]
[a0, a1, a2, a3, a4]
2
[Hello, Hello, Hello, Hello, Hello]

import java.util.*;
public class TestStoreFata {
    public static void main(String[] args){
        Map<String,Object> row1 = new HashMap<>();
        row1.put("id",1001);
        row1.put("姓名","Pjs");
        row1.put("薪水",10000);
        row1.put("入职日期","2018.5.5");
        
        Map<String,Object> row2 = new HashMap<>();
        row1.put("id",1002);
        row1.put("姓名","Pj");
        row1.put("薪水",6000);
        row1.put("入职日期","2018.6.5");
        
        Map<String,Object> row3 = new HashMap<>();
        row1.put("id",1003);
        row1.put("姓名","js");
        row1.put("薪水",100000);
        row1.put("入职日期","2018.4.5");
        
        List<Map<String,Object>> table = new ArrayList<>();
        table.add(row1);
        table.add(row1);
        table.add(row1);
        
        for (Map<String,Object> row:table){
            Set<String> keyset = row.keySet();
            for (String key:keyset){
                System.out.print(key+":"+row.get(key));
            }
            System.out.println();
        }
        
    }
}
使用容器存储表格数据

每一行数据使用一个:Map
整个表格使用一个:List

import java.util.*;
public class TestStoreFata {
    public static void main(String[] args){
        Map<String,Object> row1 = new HashMap<>();
        row1.put("id",1001);
        row1.put("姓名","Pjs");
        row1.put("薪水",10000);
        row1.put("入职日期","2018.5.5");
        
        Map<String,Object> row2 = new HashMap<>();
        row1.put("id",1002);
        row1.put("姓名","Pj");
        row1.put("薪水",6000);
        row1.put("入职日期","2018.6.5");
        
        Map<String,Object> row3 = new HashMap<>();
        row1.put("id",1003);
        row1.put("姓名","js");
        row1.put("薪水",100000);
        row1.put("入职日期","2018.4.5");
        
        List<Map<String,Object>> table = new ArrayList<>();
        table.add(row1);
        table.add(row1);
        table.add(row1);
        
        for (Map<String,Object> row:table){
            Set<String> keyset = row.keySet();
            for (String key:keyset){
                System.out.print(key+":"+row.get(key));
            }
            System.out.println();
        } 
    }
}

没一行数据使用一个:javabean对象
整个表格使用一个:Map/List

import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.HashMap;
import java.util.Map;

public class TestStoreFata2 {
    public static void main(String[] args){
        User user1 = new User(1001,"A",10000,"2019.1.1");
        User user2 = new User(1002,"B",20000,"2019.2.2");
        User user3 = new User(1003,"C",30000,"2019.3.3");
        
        List<User> list = new ArrayList<>();
        list.add(user1);
        list.add(user2);
        list.add(user3);
        for (User u:list){
            System.out.println(u);
        }
        
        System.out.println("***************************************************");
        
        Map<Integer,User> map = new HashMap<>();
        map.put(1001,user1);
        map.put(1002,user2);
        map.put(1003,user3);
        
        Set<Integer> keyset = map.keySet();
        for(Integer key:keyset){
            System.out.println(key+"-----------"+map.get(key));
        }
    }
    
}

class User {
    private int id;
    private String name;
    private double salary;
    private String hiredate;
    
    //一个完整的Javabean,要有完整的set,get方法和一个空参构造器
    public User(){}  //空参构造
    
    public User(int id,String name,double salary,String hiredate){
        super();
        this.id = id;
        this.name = name;
        this.salary = salary;
        this.hiredate = hiredate;
    }
    
    public int getId(){
        return id;
    }
    
    public void setId(int id){
        this.id = id;
    }
    
    public String getName(){
        return name;
    }
    
    public void setName(String name){
        this.name = name;
    }
    
    public double getSalary(){
        return salary;
    }
    
    public void setSalary(double salary){
        this.salary = salary;
    }
    
    public String getHiredate(){
        return hiredate;
    }
    
    public void setHiredate(String hiredate){
        this.hiredate = hiredate;
    }
    
    @Override
    public String toString() {
        return "id:" + id + ",name:" + name + ",salary:" + salary + ",hiredate:" + hiredate;
    }
    
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值