Collecions对于集合类的操作

一、排序操作

package CollectionTest;

import java.util.Collections;
import java.util.LinkedList;
import java.util.List;

public class CollectionListTest {

	public static void main(String[] args) {
		List L1=new LinkedList();
		L1.add(5);
		L1.add(51);
		L1.add(50);
		L1.add(48);
		L1.add(59);

		Collections.shuffle(L1);
		System.out.println(L1);
        Collections.reverse(L1);
        System.out.println(L1);
        Collections.sort(L1);
        System.out.println(L1);
        Collections.swap(L1, 2, 3);
        System.out.println(L1);
//        [59, 48, 51, 5, 50]
//        [50, 5, 51, 48, 59]
//        [5, 48, 50, 51, 59]
//        [5, 48, 51, 50, 59]

	}

}

二、查找、替换

package CollectionTest;

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

public class SearchTest {

	public static void main(String[] args) {
	List nums=new ArrayList();
	 nums.add(2);
	 nums.add(3);
	 nums.add(0);
	 nums.add(13);
	 nums.add(10);
	 System.out.println(nums);

	 System.out.println(Collections.binarySearch(nums,0));
	 System.out.println(Collections.max(nums));
	 System.out.println(Collections.min(nums));
	     Collections.fill(nums, 8);
	     System.out.println(nums);
	     System.out.println(Collections.frequency(nums, 8));

	 Collections.replaceAll(nums, 8, 2);
	 System.out.println(nums);

	}

}

 

三、同步控制

package CollectionTest;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;

public class SynchorinedTest {
	public static void main(String[] args)
		{
		Collection c1=Collections.synchronizedCollection(new ArrayList());
		List l1=Collections.synchronizedList(new ArrayList());
		Set  s1=Collections.synchronizedSortedSet(new TreeSet());
		Map  m1=Collections.synchronizedMap(new HashMap());

		}

}

 

四、设值不可变集合

package CollectionTest;

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

public class UnmodifiableTEST {
	public static void main(String[] args)
	{
		//创建一个空的emptyList()
		List l1=Collections.emptyList();
		l1.add(5);
		l1.add(51);
		System.out.println(l1);
		//UnsupportedOperationException  不支持修改异常
		Set s1=Collections.singleton("tianjianke");

		Map socres=new HashMap();
		socres.put("1",1);
		Map m1=Collections.unmodifiableMap(socres);

	}

}

  

时间: 2024-10-28 23:10:39

Collecions对于集合类的操作的相关文章

java复习 --集合类

List接口:可以存放重复内容: set接口:不能存放重复内容,重复内容依靠hashcode和equal两个方法来区分: Queue:队列: SortedSet接口:对集合中的数据进行排序: List接口: List子类:ArrayList,Vector ArrayList和Vector的区别: LinkedList类和queue接口 LinedList 链表的操作类 Queue接口是Collection的子接口 Set接口: Set接口是collection接口的子接口,但是和Collecti

iOS面试必备-iOS基础知识

近期为准备找工作面试,在网络上搜集了这些题,以备面试之用. 插一条广告:本人求职,2016级应届毕业生,有开发经验.可独立开发,低薪求职.QQ:895193543 1.简述OC中内存管理机制. 答:内存管理机制:使用引用计数管理,分为ARC和MRC,MRC需要程序员自己管理内存,ARC则不需要.但是并不是 所有对象在ARC环境下均不需要管理内存,子线程和循环引用并不是这样.与retain配对使用的是release,retain代表引用计 数+1,release代表引用计数-1,当引用计数减为0时

java8新特性-入门摘要

本文是针对java8做的入门摘要笔录,详细分析可参见如下原文. 原文地址 http://www.javacodegeeks.com/2013/02/java-8-from-permgen-to-metaspace.html http://ifeve.com/java-8-features-tutorial/ http://ifeve.com/java-permgen-removed/ http://blog.csdn.net/ioriogami/article/details/12782141

简单了解JAVA8的新特性

JAVA8新特性会颠覆整个JAVA程序员的编程习惯 甚至如果您坚守JAVA7之前的编程习惯,今后你看比较年轻的程序员写的JAVA代码都会无法理解 所以为了保证不脱钩,我觉得有必要学习JAVA8的新特性,况且,这会极大得提高CPU效率和编码效率 我们来简单了解一下JAVA8的新特性 我觉得主要有两个比较重要的,一是Lambda表达式,二是集合类的stream操作 关于这两点,我写了几个小DEMO,附上注释,应该能够迅速掌握 如果大家好奇更多的JAVA8新特性,请自行阅读更加专业的知识,敏捷开发不求

【分享】2015 iOS工程师面试题

http://nbnnn.com/archives/16#6 Object-c的类可以多重继承么?可以实现多个接口么?Category是什么? #import 跟#include 又什么区别,@class呢, #import<> 跟 #import””又什么区别? 属性readwrite,readonly,assign,retain,copy,nonatomic 各是什么作用,在那种情况下用? 写一个setter方法完成@property(nonatomic,retain)NSString *

JAVA常用数据结构及原理分析

前不久面试官让我说一下怎么理解java数据结构框架,之前也看过部分源码,balabala讲了一堆,现在总结一下. java.util包中三个重要的接口及特点:List(列表).Set(保证集合中元素唯一).Map(维护多个key-value键值对,保证key唯一).其不同子类的实现各有差异,如是否同步(线程安全).是否有序. 常用类继承树: 以下结合源码讲解常用类实现原理及相互之间的差异. Collection (所有集合类的接口) List.Set都继承自Collection接口,查看JDK

最全的iOS面试题及答案-转载

1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 答: Object-c的类不可以多重继承:可以实现多个接口,通过实现多个接口可以完成C++的多重继承:Category是类别,一般情况用分类好,用Category去重写类的方法,仅对本Category有效,不会影响到其他类与原有类的关系. 2. #import 跟#include 又什么区别,@class呢, #import<> 跟 #import””又什么区别?

从Swift看Objective-C的数组使用

状态维护是个怎么说都不够的话题,毕竟状态的处理是我们整个App最核心的部分,也是最容易出bug的地方.之前写过一篇以函数式编程的角度看状态维护的文章,这次从Swift语言层面的改进,看看Objective C下该如何合理的处理数组的维护. Objective C数组的内存布局 要了解NSArray,NSSet,NSDictionary这些集合类的使用方法,我们需要先弄明白其对应的内存布局(Memory Layout),以一个NSMutableArray的property为例: 1 2 3 4 5

iOS面试题最全集锦

1.Difference between shallow copy and deep copy??浅复制和深复制的区别?? 答案:浅层复制:只复制指向对象的指针,而不复制引用对象本身.?深层复制:复制引用对象本身.?意思就是说我有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不过是是一个指针,对象本身资源?还是只有一份,那如果我们对A_copy执行了修改操作,那么发现A引用的对象同样被修改,这其实违背了我们复制拷贝的一个思想.深复制就