一、Collection和Map

是一个接口

Collection是Set,List,Queue,Deque的接口

Set:无序集合,List:链表,Queue:先进先出队列,Deque:双向链表

Collection和Map之间没有关系,Collection里放一个一个对象的,Map是放键值对key-value。

二、Collections

Collections是一个类,也就是容器的工具类,如同Arrays就是数组的工具类

里面有很多方法:

常用的:reverse():反转,逆序

shuffle():混淆,就跟洗牌一样,随机打乱顺序

sort():排序从小到大的顺序

swap():交换

rotate():向右滚动

package collection;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List; public class TestCollection{
public static void main(String[] args){
//初始化集合
List<Integer> num=new ArrayList<Integer>();
for(int i=0;i<10;i++){
num.add(i);
}
System.out.println("集合中的数据:");
System.out.println(num);//0 1 2 3 4 5 6 7 8 9
Collections.reverse(num);
System.out.println("翻转后集合中的数据:");
System.out.println(num);//9 8 7 6 5 4 3 2 1 0
Collections.shuffle(num);
System.out.println("混淆后集合中的数据:");
System.out.println(num);//7 5 4 1 2 6 9 3 0 8
Collections.sort(num);
System.out.println("排序后集合中的数据:");
System.out.println(num);//0 1 2 3 4 5 6 7 8 9
Collections.swap(num,0,6);
System.out.println("交换0和6位置的数据后,集合的数据为:");
System.out.println(num);//6 1 2 3 4 5 0 7 8 9
Collections.rotate(num,2);//向右滚动
System.out.println("把集合向右滚动2个单位,集合中的数据为");//也就是把集合中最后面的两个数,放到最前面来。其余不变。
System.out.println(num);//8 9 6 1 2 3 4 5 0
}
}

synchronizedList():线程安全化

也就是把不安全线程转化为安全线程,比如ArrayList是不安全线程,在多线程中不能用,而Vector是多线程的安全。

package collection;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List; public class TestCollection{
public static void main(String[] args){
List<Integer> num=new ArrayList<Integer>();
System.out.println("把非安全线程的List转换为线程安全的List");
Collections.synchronizedList(num);
}
}

一、集合框架(Collection和Collections的区别)的更多相关文章

  1. 介绍Collection框架的结构;Collection 和 Collections的区别

    介绍Collection框架的结构:Collection 和 Collections的区别 集合框架: Collection:List列表,Set集 Map:Hashtable,HashMap,Tre ...

  2. Java学习笔记--Collection和Collections的区别

    转自 http://pengcqu.iteye.com/blog/492196 比较Collection 和Collections的区别.   1.java.util.Collection 是一个集合 ...

  3. Java集合框架Collection

    转自:http://www.cdtarena.com/javapx/201306/8891.html [plain] view plaincopyprint?01.在 Java2中,有一套设计优良的接 ...

  4. 浅谈集合框架五——集合框架扩展:Collections工具类的使用,自定义比较器

    最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出.初学者对于本篇博客只建议作为参考,欢迎留言共同学习. 之前有介绍集合框架的体系 ...

  5. Collection 和 Collections的区别。

    Collection 和 Collections的区别. Collections是个java.util下的类,它包含有各种有关集合操作的静态方法. Collection是个java.util下的接口, ...

  6. Collection 和 Collections的区别。(转)

    Collection 和 Collections的区别. Collections是个java.util下的类,它包含有各种有关集合操作的静态方法. Collection是个java.util下的接口, ...

  7. HashMap和Hashtable的区别--List,Set,Map等接口是否都继承自Map接口--Collection和Collections的区别

    面试题: 1.HashMap和Hashtable的区别? HashMap:线程不安全,效率高,键和值都允许null值 Hashtable:线程安全,效率低,键和值都不允许null值 ArrayList ...

  8. Java中的集合框架-Collection(二)

    上一篇<Java中的集合框架-Collection(一)>把Java集合框架中的Collection与List及其常用实现类的功能大致记录了一下,本篇接着记录Collection的另一个子 ...

  9. Collection 和 Collections的区别?

    Collection 和 Collections的区别? 解答:Collection是java.util下的接口,它是各种集合的父接口,继承于它的接口主要有Set 和List:Collections是 ...

  10. 理解java集合——集合框架 Collection、Map

    1.概述: @white Java集合就像一种容器,可以把多个对象(实际上是对象的引用,但习惯上都称对象)"丢进"该容器中. 2.Java集合大致可以分4类: @white Set ...

随机推荐

  1. PL/SQL Developer过期解决方法

    参考资料: plsql过期解决方法 plsql永久注册码适用个版本 方法一: 1.首先,登陆PL/SQL Developer,PL/SQL Developer要到期了 2.输入指令“regedit”打 ...

  2. Codeforces 786 B. Legacy

    题目链接:http://codeforces.com/contest/786/problem/B 典型线段树优化连边,线段树上的每一个点表示这个区间的所有点,然后边数就被优化为了至多${nlogn}$ ...

  3. 【BZOJ】3575: [Hnoi2014]道路堵塞

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3575 大概的做法是,按照顺序枚举每一条要删去的边,(假设当前点为$u$,在最短路径上的下一 ...

  4. hdu 6170 Two strings dp

    Two strings Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Prob ...

  5. JS字典 Dictionary类

    字典 Dictionary类 /*字典 Dictionary类*/ function Dictionary() { this.add = add; this.datastore = new Array ...

  6. docker启动:Got permission denied while trying to connect to the Docker daemon

    权限问题: 1.查看所有用户组与用户 vim /etc/group     /etc/group 的内容包括用户组(Group).用户组口令.GID及该用户组所包含的用户(User),每个用户组一条记 ...

  7. maven 引入外部jar包的几种方式

    方式1:dependency 本地jar包 <dependency> <groupId>com.hope.cloud</groupId> <!--自定义--& ...

  8. ZZNU 正约数之和

    #include<stdio.h> #include<string.h> #include<math.h> #include<time.h> #incl ...

  9. Vuex结合 async/await 优雅的管理接口请求

    先看看 async/await 的语法 async 函数返回一个 Promise 对象 async 函数内部 return 返回的值.会成为 then 方法回调函数的参数. 1 2 3 4 async ...

  10. MySQL学习(十六)

    MySQL高级部分 触发器 触发器是一类特殊的事务,可以监视某种数据操作(insert/update/delete),并触发相关的操作(insert/update/delete) 触发器创建语法之4要 ...