collection和collections的区别「collection和collections的区别和联系」
简述Java的垃圾回收机制,collection和collections的区别
collection是一个借口。有一些方法供实现,add,addAll,clear,contain,equals等等。

collections是一个类,提供了一些常用的**类的静态方法,例如排序sort,取最大max,最小min啊等等。调用的时候Collections.sort(list).类似这样。
java的垃圾回收是很复杂的,由jvm执行,不同的垃圾回收器的组合有不同的参数和回收方案。
当一个对象不再存在可用的活的连接的时候,就可能会被回收,当内存消耗到一定程度,需要进行垃圾回收的时候,就会将内存释放,进行垃圾回收。
collection 和collections的区别
collection既可以表示单数 又可以表示复数
当它为可数名词时 就是单数
当它为不可数名词时 单复数同形
可数 1.收藏品 收集物
2.诗歌作品集
3.一堆东西
4.系列时装
5.为新季设计的系列时装
6.募捐
7.教堂慈善捐款
不可数
1.采集
Collections,Collection ,Map,List,Set的区别?
Collections是**的工具类,含有各种有关**操作的静态方法。
Collection是个**超级接口,其中List,set都是Collection的子接口。
List
**
List
元素有先后次序的**,
元素有index位置,
元素可以重复,
List继承与Collection接口,
实现类:
ArrayList,
Vector,
LinkedList
1)LinkedList
采用双向循环链表实现
2)ArrayList
变长数组算法实现
新的
快
非线程安全
3)Vector
变长数组算法实现
早期提供
慢
线程安全
set**:
Set
元素无续,
不能重复添加,
是数学意义上的**,
继承与
Collection
接口,
实现类:
HashSet(是一个只有Key的HashMap)
Map
散列表:
也是个接口。是以键值对方式实现的**,
Map
描述了:(key:value)
成对放置的**,
key不重复,
Value可以重复.
key重复算一个.
Map适合检查查找.
主要实现:
HashMap(散列表算法实现)/
Hashtable
A
HashMap
新,
非线程安全,
不检查锁,
快
B
Hashtable
旧
(1.2以前)
线程安全,
检查锁,
慢一点
Collection 和 Collections的区别
Collection 和 Collections的区别:
1、Collection是**类的上级接口,继承与他的接口主要有Set 和List.
2、Collections是针对**类的一个帮助类,他提供一系列静态方法实现对各种**的搜索、排序、线程安全化等操作。
Java中Collection和Collections的区别
1、java.util.Collection 是一个**接口(**类的一个顶级接口)。它提供了对**对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的**提供了最大化的统一操作方式,其直接继承接口有List与Set。
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
2、Collections则是**类的一个工具类/帮助类,其中提供了一系列静态方法,用于对**中元素进行排序、搜索以及线程安全等各种操作。
1) 排序(Sort)
使用sort方法可以根据元素的自然顺序 对指定列表按升序进行排序。列表中的所有元素都必须实现 Comparable 接口。此列表内的所有元素都必须是使用指定比较器可相互比较的
ListInteger list = new ArrayListInteger();
int array[] = {112, 111, 23, 456, 231 };
for (int i = 0; i array.length; i++) {
list.add(array[i]);
}
Collections.sort(list);
for (int i = 0; i array.length; i++) {
System.out.println(list.get(i));
}
结果:23 111 112 231 456
2) 混排(Shuffling)
混排算法所做的正好与 sort 相反: 它打乱在一个 List 中可能有的任何排列的踪迹。也就是说,基于随机源的输入重排该 List, 这样的排列具有相同的可能性(假设随机源是公正的)。这个算法在实现一个碰运气的游戏中是非常有用的。例如,它可被用来混排代表一副牌的 Card 对象的一个 List 。另外,在生成测试案例时,它也是十分有用的。
Collections.Shuffling(list)
3) 反转(Reverse)
使用Reverse方法可以根据元素的自然顺序 对指定列表按降序进行排序。
Collections.reverse(list)
4) 替换所以的元素(Fill)
使用指定元素替换指定列表中的所有元素。
Collections.fill(li,"aaa");
5) 拷贝(Copy)
用两个参数,一个目标 List 和一个源 List, 将源的元素拷贝到目标,并覆盖它的内容。目标 List 至少与源一样长。如果它更长,则在目标 List 中的剩余元素不受影响。
Collections.copy(list,li): 后面一个参数是目标列表 ,前一个是源列表
6) 返回Collections中最小元素(min)
根据指定比较器产生的顺序,返回给定 collection 的最小元素。collection 中的所有元素都必须是通过指定比较器可相互比较的
Collections.min(list)
7) 返回Collections中最小元素(max)
根据指定比较器产生的顺序,返回给定 collection 的最大元素。collection 中的所有元素都必须是通过指定比较器可相互比较的
Collections.max(list)
8) lastIndexOfSubList
返回指定源列表中最后一次出现指定目标列表的起始位置
int count = Collections.lastIndexOfSubList(list,li);
9) IndexOfSubList
返回指定源列表中第一次出现指定目标列表的起始位置
int count = Collections.indexOfSubList(list,li);
10) Rotate
根据指定的距离循环移动指定列表中的元素
Collections.rotate(list,-1);
如果是负数,则正向移动,正数则方向移动