[mw_shl_code=java,true]pacote com.sort;
importar java.util.ArrayList; importar java.util.Iterator; import java.util.List;
/** * Três tipos de percurso da lista * @author Proprietário
* */ classe pública ListTest {
public static void main(String[] args) {
<String> Lista lista = nova ArrayList<String>();
list.add("a"); list.add("b"); list.add("c"); list.add("c"); Dados duplicados podem ser adicionados
Método de travessia 1 for(Iterator<String> iterator = list.iterator(); iterator.hasNext(); ){ Valor da string = iterator.next();
System.out.println(valor); }
Método de deslocamento 2 for(String valor : list){ System.out.println(valor); }
Método de deslocamento 3 for(int i=0; i<list.size(); i++){ System.out.println(list.get(i)); }
} } [/mw_shl_code]
Análise comparativa das três travessias:
Travessia do Método 1: Durante a execução, o bloqueio de dados será realizado, o desempenho será um pouco pior e, se você quiser remover um elemento durante o loop, só pode chamar o método it.remove.
Travessia do Método 2: Chame o primeiro tipo internamente
Método 3: Travessia: Não é travado internamente, o que é o mais eficiente, mas ao escrever multithreading, o problema das operações concorrentes deve ser considerado
As duas principais implementações da interface List, ArrayList e LinkedList, podem ser percorridas dessa forma Análise comparativa de ArrayList vs LinkedList a) A camada subjacente do ArrayList é implementada com arrays, e a camada subjacente do LinkedList é implementada com listas enlaçadas bidirecionais. b) Ao realizar operações de inserção ou exclusão, é melhor usar o LinkedList. c) Ao realizar uma operação de busca, é melhor usar o ArrayList.
Para ser direto, é armazenamento sequencial e armazenamento em cadeia na estrutura de dados
|