Mémo de spécification Java

Un mémo personnel que je n'ai pas rédigé avec l'intention de laisser les autres le lire.

Primitive Type

Héritage

Exemple d'héritage:

interface Foo {
    void bar();
}

class Foo extends Bar implements Foo {
    ...
}

Héritage multiple

opérateur

Remplacer égal

final, finally, finalize

final

finally

finalize

Qualificatif

abstract

protected

private

static

volatile

classe

Classe externe

Classe intérieure

Classe locale

classe interne statique

String

Integer

Deque File d'attente à deux extrémités. Puisqu'il implémente l'interface Queue, il peut être utilisé comme Queue, mais Stack est une classe, donc il n'est pas implémenté. D'autre part, Stack est recommandé dans la documentation Stack, telle que Use Deque over Stack. Si vous avez besoin d'une interface Wind, vous devez utiliser Deque. Stack implémente Vector, qui permet un accès aux index qui semble inutile.

En général, LinkedList a $ O (1) $ pour toutes les opérations, et une implémentation comme ArrayDeque a un pire temps de calcul supplémentaire de $ O (n) $, mais la complexité temporelle pour toutes les opérations est $ O dans l'analyse amortie. (1) Cela devient $.

Classe qui réserve une zone continue du tas

Veillez à ne pas utiliser trop de mémoire

Classe héritée

Comparaison

Il existe deux manières principales d'implémenter des comparaisons de classes arbitraires.

Comparable.compareTo

class Foo implements Comparable<Foo> {
    int key;

    public Foo(int key) { 
        this.key = key;
    }

    @Override
    public int compareTo(Foo f){
        return this.key - f.key;
    }
}

Collections.sort(fooList);
Collections.sort(fooList, Collections.reverseOrder());

Comparator.compare

class FooComparator implements Comparator<Foo> {
    @Override
    public int compare(Foo a, Foo b) {
        return a.key - b.key;
    }
}

Collections.sort(fooList, new FooComparator());

fil

Exemple d'utilisation

class Foo implements Runnable {
    public void run() {
        while (true) System.out.print(".");
    }
}

Foo foo = new Foo();
Thread thread = new Thread(foo);
thread.start();

Classes qui ne sont pas thread-safe

Lorsqu'il y a accès en parallèle, il est nécessaire de gérer avec synchronisé etc.

référence

Il existe les types de références suivants:

https://docs.oracle.com/javase/jp/8/docs/api/java/lang/ref/Reference.html

Generics

D'autres choses que je veux découvrir plus tard

Recommended Posts

Mémo de spécification Java
Mémo Java
java quoi que ce soit mémo
Mémo Java Silver
java, mémo maven
Remarque sur Java SE 7
java n'importe quoi mémo 2
Mémo de modèle Java
Mémo de l'environnement de développement Java
mémo de connaissances de base java
Mémo d'apprentissage Java (méthode)
Mémo Java Kuche Day
java se 8 programmeur Ⅰ mémo
Mémo privé payant Java
Mémo d'apprentissage Java (basique)
mémo d'expression java lambda
(Mémo) Java pour instruction
expression lambda java [écriture de notes]
Mémo d'apprentissage Java (interface)
[Java] Mémo d'héritage implicite
Mémo d'apprentissage Java (héritage)
mémo de programmation du concours java
[Mémo] Liste liée Java
Remarque sur Java (WebSphere Application Server) [1]
[Java] Mémo de nom du nom de variable
Sous-chaîne de mémo Java (classe standard)
Mémo d'apprentissage Java (type de données)
Longueur du mémo Java (classe standard)
Mémo de la méthode d'étude Java Silver
Créer une méthode java [Memo] [java11]
Mémo de préparation à l'examen Java Silver
Mémo d'apprentissage Java (opérateur logique)
Java
Mémo d'apprentissage Java (classe abstraite)
[Java] Date Termes associés mémo
Java
Génération récente de spécification d'API Java
Que sont les métriques Java? _Memo_20200818
Java HashMap, entrySet [Mémo personnel]
[Eclipse Java] Mémo des paramètres de l'environnement de développement
Mémo d'apprentissage Java (création d'un tableau)
Mémo personnel: métaprogrammation avec réflexion Java
[Java] Mémo pour nommer les noms de classe
[Mémo de la session d'étude] Java Day Tokyo 2017
Mémo d'apprentissage Java (instruction while, instruction do-while)
De Java à VB.NET - Écriture de notes de contraste
[Java] Mémo de méthode de mesure du temps de traitement
J'ai essayé d'utiliser le mémo Java LocalDate
Mémo entier
mémo docker
Apprendre Java (0)
Étudier Java ―― 3
[Java] tableau
Java protégé
[Java] Annotation
Module [Java]
Tableau Java
Étudier Java ―― 9