Alguém poderia me esclarecer essa dúvida?
Sobre a classe Collections, ela é uma super classe, no qual as classes Arraylist, Vector, LinkedList, etc, são sub classes da Collections? E por isso eu consigo, por exemplo, ordenar uma coleção de objetos seja de ArrayList, Vector ou LinkedList, através de Collections.sort()?
É isso?
He he he…Simples e curto… Mas é isso mesmo…Herança funciona assim… se você utiliza uma classe que é filha de outras ela herda as propriedades das que são pais (ou mães he he he) delas…
Entretanto, a classe java.util.Collection (sem o S) é uma interface que todas essas classses que você mencionou implementam. http://java.sun.com/javase/6/docs/api/java/util/Collection.html
Veja quais classes do JDK implementam Collection:
AbstractCollection, AbstractList, AbstractQueue, AbstractSequentialList, AbstractSet, ArrayBlockingQueue, ArrayDeque, ArrayList, AttributeList, BeanContextServicesSupport, BeanContextSupport, ConcurrentLinkedQueue, ConcurrentSkipListSet, CopyOnWriteArrayList, CopyOnWriteArraySet, DelayQueue, EnumSet, HashSet, JobStateReasons, LinkedBlockingDeque, LinkedBlockingQueue, LinkedHashSet, LinkedList, PriorityBlockingQueue, PriorityQueue, RoleList, RoleUnresolvedList, Stack, SynchronousQueue, TreeSet, Vector
Veja quais são as interfaces que estendem Collection:
BeanContext, BeanContextServices, BlockingDeque, BlockingQueue, Deque, List, NavigableSet, Queue, Set, SortedSet
Então na verdade, pelo fato dessas classes(ArrayList, Vector, etc) implementarem a interface Collection, eu consigo ordenar seus objetos com Collections.sort()?
Antes de mais , e isto vale para todos no forum básico , leiam o Javadoc. É uma otima, muito completa , fonte de informação.
Collections.sort() só aceita classes que implementem List. List é uma subinterface de Collection, mas o algoritmo de sort() necessita que seja um List e não qualquer Collection. Por exemplo, não faz sentido fazer sort() de um Set.
É porque ArrayList, Vector, LinkedList , etc… implementam a interface List que podem ser usadas em Collections.sort().