黑马程序员技术交流社区
标题:
Collection和Collections的区别
[打印本页]
作者:
李红飞
时间:
2012-5-29 00:41
标题:
Collection和Collections的区别
看到一道面试题:
public class SimpleCollection {
public static void main(String[] args) {
Collection c = new ArrayList();
for(int i = 0; i < 10; i++)
c.add(Integer.toString(i));
Iterator it = c.iterator();
while(it.hasNext())
System.out.println(it.next());
}
}
上面说collections类是针对集合类的一个帮助类.它提供一系列的静态方法对各种集合的搜索,排序,线程安全化等操作.
不太懂他的含义?
请教Collection和Collections的具体区别?最后用代码证明一下?
作者:
林翔
时间:
2012-5-29 00:50
Collection是个java.util下的接口,它是各种集合结构的父接口。
Collections是个java.util下的类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。。
Collection 层次结构中的根接口。Collection 表示一组对象,这些对象也称为 collection的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接
实现:它提供更具体的子接口(如 Set 和 List)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class TestCollections {
public static void main(String args[]) {
//List是实现Collection接口的
List list = new ArrayList();
double array[] = { 112, 111, 23, 456, 231 };
for (int i = 0; i < array.length; i++) {
list.add(new Double(array[i]));
}
Collections.sort(list); //使用Collections的sort()方法对List进行排序
for (int i = 0; i < array.length; i++) {
System.out.println(list.get(i));
}
}
}
作者:
闾丘日月
时间:
2012-5-29 01:49
我想问的是他们之间有什么是相同的么。。
作者:
贾旭
时间:
2012-5-29 09:57
本帖最后由 贾旭 于 2012-5-29 09:59 编辑
楼主你觉得直接翻出一道大家都知道的面试题出来有意思么.
这两个有相同的地方吗?
Collection是集合框架的顶层接口,
Collections是对集合框架操作的一个工具类,比如可以对集合进行个排序,插入什么的.
作者:
陆建平
时间:
2012-5-29 09:59
Collection 和 Collections的区别。
Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。
Collection是个java.util下的接口,它是各种集合结构的父接口。
List, Set, Map是否继承自Collection接口? List,Set是 Map不是
ArrayList和Vector的区别。
一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的
二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
HashMap和Hashtable的区别
一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现
二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
三.值:只有HashMap可以让你将空值作为一个表的条目的key或value
作者:
胡团乐
时间:
2012-5-29 10:02
这么来说吧
Collections 就是一个java的工具类 不能new对象,里面包含了很多static方法可以直接调用使用 大多时候用于操作集合类如Arraylist LinkedList等
Collection 是一个集合接口 List Set都是实现了Collection接口的接口 而Arraylist LinkedList是实现了List接口的具体实现类;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
public class TestCollections {
public static void main(String[] args) {
Collection<Integer> cc=new ArrayList<Integer>();
cc.add(2);
cc.add(8);
cc.add(10);
cc.add(4);
cc.add(3);
//可以直接使用Collections.(static方法)的方式使用
//调用Collections的max()方法
int max=Collections.max(cc); //返回一个集合里的最大值
System.out.println(max); //10
}
}
应该能明了吧
作者:
黑马张健
时间:
2012-5-29 10:07
哥们以后记好了。
Collection是一个接口、Collecrtions是 一个类。(即后面加 s 的是一个类,不加就是接口)
Collection接口:可以用多态的方式,去创建不同类型的集合。但不会对集合提供帮助性的方法。
Collecrtions类:是类就会生成对象,有对象就会有方法,它提供了一系列静态的方法,方便集合的特殊操作。比如:各种集合的搜索、排序、线程安全化等操作
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2