20200810-Resumo da API de alto nível Java

1. Estrutura de coleta

Lista:
ArrayList ordenado : array de comprimento variável, fácil de encontrar e acesso aleatório
LinkedList (Node): lista duplamente vinculada, fácil de inserir e deletar (para Node's next e pre)
Set: não repetido
HashSet: HashMap key hashCode () Junto com o método equals () para garantir que não haja nenhuma repetição
addAll () para converter entre Set e List
Map: Entry <k, v> par de valores-chave Entry é uma classe estática de Map
Traversal: List: fori, aprimorado para, iterador enquanto hasnext
Conjunto: Aprimorado para, iterador
Mapa: entrySet () KeySet () values ​​()
Genérico: define a entrada e a saída do tipo de conjunto Comparable
add () / put () / addAll ()
remove ()
set () / put ( )
ger () HashSet não tem método get, porque não há subscrito / List é get subscrito, Map é chave de travessia
Coleções: ComparAble
new Comparator {int compare (Student o1, Student o2) {return o1.stuId-o2.stuId} } Compare dois do mesmo tipo, em ordem crescente

2. Prático

Tipo de embalagem: conveniente para uso genérico e conversão para o tipo String.
Embalagem: altera o tipo de dados básicos para o tipo de embalagem.
Desembalagem: converte o tipo de embalagem para o tipo de dados básico
Inteiro a = 1; // Auto-boxing
int b = new Integer (12); // Unboxing automático, geralmente usado no valor de retorno do método, quando a lista de parâmetros é passada
Classe matemática: fórmula matemática
Classe aleatória: vários números aleatórios, sementes, uma vez que as sementes são adicionadas, é uma
classe de enumeração pseudo-aleatória : especial A classe, a estrutura privada e os valores gravados diretamente são todos objetos do tipo atual
String: a camada inferior é uma constante de matriz de caracteres,
indexof imutável , split, charAt, string interceptada de substring passa diretamente um parâmetro, onde interceptar desde o início, dois Parâmetro, do subscrito do primeiro parâmetro para o subscrito do segundo parâmetro, fechado à esquerda e aberto à direita para
CharArray convertido em matriz char, adequado para o caso de getBytes chinês convertido em matriz de bytes
StringBuffer: thread safe,
append mais lento (), toString ()
StringBuilder é uma matriz de caracteres de comprimento variável, rápida e de thread único. A camada inferior é uma variável. Inicialmente 16, ela pode ser expandida.
Data: System.currentTimeMillis () A hora UTC exibida por padrão.
Formato de hora SimpleDateFormat: "aaaa- MM-dd HH: mm: ss.S "Geralmente, milissegundos (.S) não são usados

3, estilo io:

InputStream OutputStream Leitor Writer
Fluxo comum: FileInputStream FileOutputStream FileReader FileWriter
Fluxo de conversão: InputStreamReader OutputStreamWriter, Fluxo de conversão e codificação de caracteres
Fluxo avançado:
Fluxo de buffer:
Leia linha por linha, escreva a string inteira, apenas instale o Reader e o Writer, coloque o fluxo primeiro quando estiver ocioso Leitura de uma etapa no buffer
BufferedReader,
fluxo binário BufferedWriter :
primeiro coloque a imagem, vídeo, áudio, etc. a ser transmitido no fluxo de arquivo e, em
seguida, carregue o fluxo de arquivo no DataInputStream, DataOutputStream é
relativamente seguro
Fluxo de objeto: o
objeto deve primeiro implementar a interface Serializable, ObjectInputStream E o
processo de leitura ObjectOutputStream :
1. Coloque o arquivo no fluxo de entrada do arquivo, primeiro defina a maneira de lidar com a exceção
2. read () read (b) ... read range Byte array (colocado na string)
3. Feche a
escrita do fluxo Processo:
basicamente semelhante ao processo de leitura, carregue o caminho de saída no fluxo e escreva a string nele

4. Multithreading

Herdar a classe Thread e implementar
a diferença entre a interface Runnable start () e run (): start é o método para realizar multithreading, run é o método normal start chama start (0) e run (method) para
implementar o método Callable interface: call () Não há grande diferença entre o valor de retorno (genérico) e o método run ()
FutureTask task = new FutureTask (objeto da classe de implementação da interface Callable);
Thread t = new Thread (task);
t.start ();
task.get ( ); // Você pode obter seu valor de retorno

5. Reflexão: Obter objetos, manipular objetos e seus atributos e métodos em tempo de execução

Type.class, object.getClass (), Class.forName ("o caminho completo da classe");
obter o construtor (getDeclaredConstructor ()) newInstance ()
método (getDeclaredMethod ("nome do método", tipo de parâmetro)) invocar (correspondente Parâmetro)
attribute (getDeclaredField ("attribute name")) set ()
não tem permissões suficientes para executar setAccessible (true);

6, xml sum json

formato xml: <? xml version = "1.0" charset = "UTF-8"?>
Tag raiz, correspondência um a um (com início e fim)
Função: transmissão de dados (basicamente abandonado), arquivo de configuração
aquisição DOM:
1 、 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance ();
2.DocumentBuilder builder = factory.newDocumentBuilder (); 3.Document
document = builder.parse ("caminho xml / ou obtê-lo na forma de InputStream");
4.Element e = document. getElementById / document.getElementsByName ("tag name");
5. e.item (0);
Salvar Dom:
1. TransformFactory tf = TransformFactory.newInstance ();
2. Transform t = f.newTransform ();
3. DomSource s = new DomSource (documento);
4. StreamResult sr = new StreamResult (o objeto gravador é carregado no endereço de destino);
5. tf.transform (s, sr);
json: O objeto deve implementar o
objeto de interface serializável para string de formato json: JSON. toJSONString (objeto);
Objeto para json JSON.toJSON / JSON.parseObject (string json);
json para objeto JSON.toJavaObject (objeto json, tipo de objeto java.class);

7. Expressão regular: expressão regular

Regras de correspondência

Acho que você gosta

Origin blog.csdn.net/qq_42005540/article/details/107919600
Recomendado
Clasificación