Collections工具类

 

在我们学习数组的时候,我们又Arrays工具类来进行数组的通用便捷操作,在使用集合的时候,我们有单列集合的工具类来进行结合的便捷操作

 Collections工具类

常用方法一览:

  • binarySearch(list,key):根据键值进行二分查找,需要自定义比较方法
  • fill(list,E e):充满此集合
  • frequercy(Collection,E e):返回此集合中和e相等的数量
  • max(Collection)/min(Collection):返回最大元素,和最小元素:根据自定义的compareTo()方法进行比较
  • reverse(list):反转集合中元素存储顺序
  • replaceAll(list,olde,newe):替换元素,比较方法为equals方法
  • shuffle(list):打乱此集合元素存储位置
  • swap(list,int i,int j):根据存储位置进行交换位置
  • sort(list):进行排序,根据重写的compareTo()方法进行排序

直接去代码里演示吧:

binarySearch(list,key):根据键值进行二分查找,需要自定义比较方法

public static void main(String[] args) {
		List<String> p = new ArrayList();
		p.add("aaa");
		p.add("bbb");
		p.add("ccc");
		p.add("ddd");
		p.add("eee");
		System.out.println(Collections.binarySearch(p, "ccc"));//   2
	}

 


 

 

 fill(list,E e):充满此集合

                List p = new ArrayList();
		p.add(new Person("路飞",17));
		p.add(new Person("路飞",17));
		p.add(new Person("索隆",13));
		p.add(new Person("乌索普",19));
		p.add(new Person("山治",15));
		System.out.println(p);
		Collections.fill(p, new Person("娜美",18));
		System.out.println(p);
[Person [name=路飞, age=17]
, Person [name=路飞, age=17]
, Person [name=索隆, age=13]
, Person [name=乌索普, age=19]
, Person [name=山治, age=15]
]
[Person [name=娜美, age=18]
, Person [name=娜美, age=18]
, Person [name=娜美, age=18]
, Person [name=娜美, age=18]
, Person [name=娜美, age=18]
]

 

 


 

frequercy(Collection,E e):返回此集合中和e相等的数量

                List p = new ArrayList();
		p.add(new Person("路飞",17));
		p.add(new Person("路飞",17));
		p.add(new Person("索隆",13));
		p.add(new Person("乌索普",19));
		p.add(new Person("山治",15));
		System.out.println(p);
		System.out.println(Collections.frequency(p, new Person("路飞",17)));  // 2

 

 


 

 

reverse(list):反转集合中元素存储顺序

		List p = new ArrayList();
		p.add(new Person("路飞",17));
		p.add(new Person("路飞",17));
		p.add(new Person("索隆",13));
		p.add(new Person("乌索普",19));
		p.add(new Person("山治",15));
		System.out.println(p);
		Collections.reverse(p);
		System.out.println(p);

[Person [name=路飞, age=17]
, Person [name=路飞, age=17]
, Person [name=索隆, age=13]
, Person [name=乌索普, age=19]
, Person [name=山治, age=15]
]
[Person [name=山治, age=15]
, Person [name=乌索普, age=19]
, Person [name=索隆, age=13]
, Person [name=路飞, age=17]
, Person [name=路飞, age=17]
]

 

 


 

 

replaceAll(list,olde,newe):替换元素,比较方法为equals方法

		List p = new ArrayList();
		p.add(new Person("路飞",17));
		p.add(new Person("路飞",17));
		p.add(new Person("索隆",13));
		p.add(new Person("乌索普",19));
		p.add(new Person("山治",15));
		System.out.println(p);
		Collections.replaceAll(p, new Person("路飞",17), new Person("萨博",20));
		System.out.println(p);

 

[Person [name=路飞, age=17]
, Person [name=路飞, age=17]
, Person [name=索隆, age=13]
, Person [name=乌索普, age=19]
, Person [name=山治, age=15]
]
[Person [name=萨博, age=20]
, Person [name=萨博, age=20]
, Person [name=索隆, age=13]
, Person [name=乌索普, age=19]
, Person [name=山治, age=15]
]

 

 


shuffle(list):打乱此集合元素存储位置

                List p = new ArrayList();
		p.add(new Person("路飞",17));
		p.add(new Person("路飞",17));
		p.add(new Person("索隆",13));
		p.add(new Person("乌索普",19));
		p.add(new Person("山治",15));
		System.out.println(p);
		Collections.shuffle(p);
		System.out.println(p);
[Person [name=路飞, age=17]
, Person [name=路飞, age=17]
, Person [name=索隆, age=13]
, Person [name=乌索普, age=19]
, Person [name=山治, age=15]
]
[Person [name=乌索普, age=19]
, Person [name=路飞, age=17]
, Person [name=索隆, age=13]
, Person [name=山治, age=15]
, Person [name=路飞, age=17]
]

 

 


swap(list,int i,int j):根据存储位置进行交换位置

                List p = new ArrayList();
		p.add(new Person("路飞",17));
		p.add(new Person("路飞",17));
		p.add(new Person("索隆",13));
		p.add(new Person("乌索普",19));
		p.add(new Person("山治",15));
		System.out.println(p);
		Collections.swap(p, 2, 4);
		System.out.println(p);
[Person [name=路飞, age=17]
, Person [name=路飞, age=17]
, Person [name=索隆, age=13]
, Person [name=乌索普, age=19]
, Person [name=山治, age=15]
]
[Person [name=路飞, age=17]
, Person [name=路飞, age=17]
, Person [name=山治, age=15]
, Person [name=乌索普, age=19]
, Person [name=索隆, age=13]
]

 


sort(list):进行排序,根据重写的compareTo()方法进行排序

                List p = new ArrayList();
		p.add(new Person("路飞",17));
		p.add(new Person("路飞",17));
		p.add(new Person("索隆",13));
		p.add(new Person("乌索普",19));
		p.add(new Person("山治",15));
		System.out.println(p);
		Collections.sort(p);
		System.out.println(p);
[Person [name=路飞, age=17]
, Person [name=路飞, age=17]
, Person [name=索隆, age=13]
, Person [name=乌索普, age=19]
, Person [name=山治, age=15]
]
[Person [name=索隆, age=13]
, Person [name=山治, age=15]
, Person [name=路飞, age=17]
, Person [name=路飞, age=17]
, Person [name=乌索普, age=19]
]

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值