views:

2036

answers:

4

Hello, all!

I just want to know what the actual difference between Java Collection and Collections is.

Thanks in advance!

+13  A: 

Collection is a base interface for most collection classes, whreas Collections is a utility class. I recommend you reading documentation.

Luno
Which would be:http://java.sun.com/javase/6/docs/api/java/util/Collections.htmlhttp://java.sun.com/javase/6/docs/api/java/util/Collection.html
omerkudat
+3  A: 

Are you asking about the Collections class versus the classes which implement the Collection interface?

If so, the Collections class is a utility class having static methods for doing operations on objects of classes which implement the Collection interface. For example, Collections has methods for finding the max element in a Collection.

The Collection interface defines methods common to structures which hold other objects. List and Set are subinterfaces of Collection, and ArrayList and HashSet are examples of concrete collections.

uckelman
+3  A: 

Collection, as its javadoc says is "The root interface in the collection hierarchy." This means that every single class implementing Collection in any form is part of the Java Collections Framework.

The Collections Framework is Java's native implementation of data structure classes (with implementation specific properties) which represent a group of objects which are somehow related to each other and thus can be called a collection.

Collections is merely an utility method class for doing certain operations, for example adding thread safety to your ArrayList instance by doing this:

List<MyObj> list = Collections.synchronizedList(new Arraylist<MyObj>());

The main difference in my opinion is that Collection is base interface which you may use in your code as a type for object (although I wouldn't directly recommend that) while Collections just provides useful operations for handling the collections.

Esko
Of course, now `Iterable` is the root interface of the collection hierarchy.
Tom Hawtin - tackline
I'd say that Iterable is the root interface of the iterable hierarchy. :)
Kevin Bourrillion
Iterator is a generalized view to a collection, how'd that sound? :)
Esko
+4  A: 

collection : A collection(with small 'c') represents a group of objects/elements.

Collection : The root interface of Java Collections Framework.

Collections : A utility class that is a member of the Java Collections Framework.

HanuAthena
*one of* the root interfaces.
Kevin Bourrillion