Oi pessoal então tenho um trabalho pra fazer sobre.
Qual a diferença do vetor e arrayList? e Collection sort que tipo de metodo de ordenação?
Sera que alguem poderia me indicar sites ou ate mesmo livros que seria bem explicativo.
Obrigada
Oi pessoal então tenho um trabalho pra fazer sobre.
Qual a diferença do vetor e arrayList? e Collection sort que tipo de metodo de ordenação?
Sera que alguem poderia me indicar sites ou ate mesmo livros que seria bem explicativo.
Obrigada
Vetores são sincronizados (isto é, têm suporte nativo a uso por várias threads simultâneas) e ArrayList’s não são (ou seja, você precisa tomar cuidados especiais ao usá-los em várias threads ao mesmo tempo). Collections.sort() usa uma versão modificada do algortimo MergeSort, conforme descrito na documentação oficial:
Link sugerido para consultas sobre ordenação e comparação:
http://java.sun.com/docs/books/tutorial/collections/interfaces/order.html
Bom dia. Esse post é bom para começar…
ArrayList - É um estrutura de dados que tem com base um array.
Um ArrayList nada mais é que um array que pode ser alterado.Vector - Tem as mesmas características de ArrayList, porém seus métodos são sincronizados.
A resposta para sua pergunta está na documentação do ArrayList:
“This class is roughly equivalent to Vector, except that it is unsynchronized.”
O vetor é um pouco mais primitivo, em alguns casos seu uso é mais eficiente.
Espero ter ajudado.
Oi pessoal então tenho um trabalho pra fazer sobre.Qual a diferença do vetor e arrayList? e Collection sort que tipo de metodo de ordenação?
Sera que alguem poderia me indicar sites ou ate mesmo livros que seria bem explicativo.
Obrigada
Creio que seria Vector ao invés de vetor .
Vector Tem Implementações segura a threads , ja arrayList nao , ou seja Métodos Syncronized implementados .
Ja arrayList eh bem mais rapido para fazer uma leitura dos dados inseridos e talz .
Creio tambem que vc quiz dizer Collections.sort(Arraylist); Se for um ArrayList de String , ele o classifica alfabeticamente.
Um link interessante sobre essas diferenças:
Via de regra, você nunca usará o Vector. É pouco provável que a sincronização de seus métodos seja necessária, mesmo em ambientes multi-thread.
O Vector também foi introduzido no Java anteriormente a collections framework. Por isso, sua interface é cheia de métodos que fazem a mesma coisa, como addElement e add. Se for usar um Vector, use-o através da interface list, como no exemplo abaixo:
List<String> lista = new Vector<String>();
Isso evita que esses métodos duplicados apareçam, e permite que você substitua o Vector facilmente por qualquer outro tipo de lista no futuro.
Essa mesma diferença vale para as classes Hashtable e HashMap.
O uso das classes Vector e HashTable é desaconselhado desde o java 1.2.
Um bom tópico sobre o assunto é esse aqui:
http://java.sun.com/docs/books/tutorial/collections/index.html
O Collection.sort usa um processo de ordenação chamada MergeSort, mas um pouco modificada. Veja o que diz a documentação:
"The sorting algorithm is a modified mergesort (in which the merge is omitted if the highest element in the low sublist is less than the lowest element in the high sublist). This algorithm offers guaranteed n log(n) performance. This implementation dumps the specified list into an array, sorts the array, and iterates over the list resetting each element from the corresponding position in the array. This avoids the n2 log(n) performance that would result from attempting to sort a linked list in place. "
No Java 7, esse método de ordenação irá mudar para o TimSort.