Un DataBuffer d'entiers.
Méthodes publiques
| résumé IntDataBuffer | copyTo ( DataBuffer <Integer> dst, taille longue) |
| abstrait entier | getInt (index long) Lit l'int à l'index donné. |
| abstrait Entier | getObject (index long) Lit la valeur à l'index donné. |
| résumé IntDataBuffer | étroit (taille longue) Crée un nouveau tampon dont le contenu est une sous-séquence partagée du contenu de ce tampon, dont la taille est définie sur la valeur donnée. |
| résumé IntDataBuffer | décalage (index long) Crée un nouveau tampon dont le contenu est une sous-séquence partagée du contenu de ce tampon, en commençant à l'index donné. |
| résumé IntDataBuffer | lire (int[] heure d'été) Méthode d'obtention en masse, utilisant des tableaux int. |
| résumé IntDataBuffer | lire (int[] dst, int offset, int length) Méthode d'obtention en masse, utilisant des tableaux int. |
| résumé IntDataBuffer | setInt (valeur entière, index long) Écrit l'int donné dans ce tampon à l'index donné. |
| résumé IntDataBuffer | setObject (valeur entière, index long) |
| résumé IntDataBuffer | tranche (index long, taille longue) Crée un nouveau tampon dont le contenu est une sous-séquence partagée du contenu de ce tampon, commençant à l'index donné et de la taille donnée. |
| abstrait DataBufferWindow < IntDataBuffer > | fenêtre (taille longue) Crée un DataBufferWindow qui fournit une vue partielle de ce tampon. |
| résumé IntDataBuffer | écrire (int[] src) Méthode de put en bloc, utilisant des tableaux int. |
| résumé IntDataBuffer | écrire (int[] src, int offset, int length) Méthode de put en bloc, utilisant des tableaux int. |
Méthodes héritées
Méthodes publiques
public abstract int getInt (index long)
Lit l'int à l'index donné.
Paramètres
| indice | l'index à partir duquel le float sera lu |
|---|
Retours
- l'int à l'index donné
Jetés
| IndexOutOfBoundsException | si l'index est négatif ou non inférieur à la taille du tampon |
|---|
public abstrait Integer getObject (index long)
Lit la valeur à l'index donné. Important : L'utilisation de cette méthode doit être limitée aux tampons de types non primitifs ou lorsque le type de données n'est pas connu de manière déterministe par l'appelant. Dans tous les autres cas, préférez l'utilisation de sa variante primitive qui améliorera considérablement les performances (par exemple IntDataBuffer.getInt(idx)
Paramètres
| indice | l'index à partir duquel le float sera lu |
|---|
Retours
- la valeur à l'indice donné
public abstract IntDataBuffer étroit (taille longue)
Crée un nouveau tampon dont le contenu est une sous-séquence partagée du contenu de ce tampon, dont la taille est définie sur la valeur donnée.
La nouvelle taille ne doit pas être supérieure à cette taille de tampon. Les modifications apportées au contenu de ce tampon seront visibles dans le nouveau tampon et vice versa. Le nouveau tampon sera en lecture seule si, et seulement si, ce tampon est en lecture seule.
Cet appel est équivalent à slice(0, size)
Paramètres
| taille | taille de ce nouveau tampon |
|---|
Retours
- le nouveau tampon
public abstract IntDataBuffer offset (index long)
Crée un nouveau tampon dont le contenu est une sous-séquence partagée du contenu de ce tampon, en commençant à l'index donné.
L'index ne doit pas être supérieur à cette taille de tampon. Les modifications apportées au contenu de ce tampon seront visibles dans le nouveau tampon et vice versa. Le nouveau tampon sera en lecture seule si, et seulement si, ce tampon est en lecture seule.
Cet appel est équivalent à slice(index, size() - index)
Paramètres
| indice | l'index de la première valeur du nouveau tampon créé, ne doit pas être supérieur à size() |
|---|
Retours
- le nouveau tampon
lecture abstraite publique de IntDataBuffer (int[] dst)
Méthode d'obtention en masse, utilisant des tableaux int.
Cette méthode transfère les valeurs de ce tampon vers le tableau de destination donné. S'il y a moins de valeurs dans le tampon que nécessaire pour satisfaire la demande, c'est-à-dire si dst.length > size() , alors aucune valeur n'est transférée et une BufferUnderflowException est levée.
Sinon, cette méthode copie les valeurs n = dst.length de ce tampon dans le tableau donné.
Paramètres
| heure d'été | le tableau dans lequel les valeurs doivent être écrites |
|---|
Retours
- ce tampon
Jetés
| BufferUnderflowException | s'il n'y a pas assez de valeurs à copier depuis ce tampon |
|---|
public abstract IntDataBuffer read (int[] dst, int offset, int length)
Méthode d'obtention en masse, utilisant des tableaux int.
Cette méthode transfère les valeurs de ce tampon vers le tableau de destination donné. S'il y a moins de valeurs dans le tampon que nécessaire pour satisfaire la demande, c'est-à-dire si length > size() , alors aucune valeur n'est transférée et une BufferUnderflowException est levée.
Sinon, cette méthode copie les valeurs n = length de ce tampon dans le tableau donné en commençant au décalage donné.
Paramètres
| heure d'été | le tableau dans lequel les valeurs doivent être écrites |
|---|---|
| compenser | le décalage dans le tableau de la première valeur à écrire ; doit être non négatif et ne pas dépasser dst.length |
| longueur | le nombre maximum de valeurs à écrire dans le tableau donné ; doit être non négatif et ne pas dépasser dst.length - offset |
Retours
- ce tampon
Jetés
| BufferUnderflowException | s'il reste moins de valeurs de longueur dans ce tampon |
|---|---|
| IndexOutOfBoundsException | si les conditions préalables sur les paramètres offset et longueur ne sont pas remplies |
public abstract IntDataBuffer setInt (valeur int, index long)
Écrit l'int donné dans ce tampon à l'index donné.
Paramètres
| valeur | l'int à écrire |
|---|---|
| indice | l'index auquel la valeur sera écrite |
Retours
- ce tampon
Jetés
| IndexOutOfBoundsException | si l'index est négatif ou non inférieur à la taille du tampon |
|---|---|
| ReadOnlyBufferException | si ce tampon est en lecture seule |
tranche IntDataBuffer abstraite publique (index long, taille longue)
Crée un nouveau tampon dont le contenu est une sous-séquence partagée du contenu de ce tampon, commençant à l'index donné et de la taille donnée.
L'index plus la nouvelle taille ne doivent pas être supérieurs à cette taille de tampon. Les modifications apportées au contenu de ce tampon seront visibles dans le nouveau tampon et vice versa. Le nouveau tampon sera en lecture seule si, et seulement si, ce tampon est en lecture seule.
Paramètres
| indice | index de la première valeur du nouveau buffer créé |
|---|---|
| taille | la taille de ce nouveau tampon ne doit pas être supérieure à size() |
Retours
- le nouveau tampon
public abstract DataBufferWindow < IntDataBuffer > fenêtre (taille longue)
Crée un DataBufferWindow qui fournit une vue partielle de ce tampon.
La fenêtre créée a une taille fixe et peut "slide" le long de ce tampon pour fournir différentes vues des données sans allouer une nouvelle instance de tampon, comme le fait offset(long) . Cela améliore les performances globales lorsque cette opération est répétée fréquemment. Par exemple:
IntDataBuffer bufferA = DataBuffers.ofInts(1024);
// ... init buffer data
IntDataBuffer bufferB = DataBuffers.ofInts(1, 2, 3, 4);
// Return the index of the first occurrence of bufferB in bufferA using a sliding window
DataBufferWindow<IntDataBuffer> windowA = bufferA.window(4);
for (int i = 0; i < bufferA.size() - bufferB.size(); ++i) {
if (windowA.slideTo(i).buffer().equals(bufferB)) {
return i;
}
}L'objet renvoyé est avec état et n'est pas thread-safe.
Paramètres
| taille | taille de la fenêtre |
|---|
Retours
- une nouvelle fenêtre qui commence à l'index 0 de ce buffer
public abstrait IntDataBuffer écrire (int[] src)
Méthode de put en bloc, utilisant des tableaux int.
Cette méthode transfère les valeurs du tableau source donné dans ce tampon. S'il y a plus de valeurs dans le tableau source que dans ce tampon, c'est-à-dire si src.length > size() , alors aucune valeur n'est transférée et une BufferOverflowException est levée.
Sinon, cette méthode copie les valeurs n = src.length du tableau donné.
Paramètres
| src | le tableau source à partir duquel les valeurs doivent être lues |
|---|
Retours
- ce tampon
Jetés
| BufferOverflowException | s'il n'y a pas suffisamment d'espace dans ce tampon pour les valeurs du tableau source |
|---|---|
| ReadOnlyBufferException | si ce tampon est en lecture seule |
public abstract IntDataBuffer write (int[] src, int offset, int length)
Méthode de put en bloc, utilisant des tableaux int.
Cette méthode transfère les valeurs du tableau source donné dans ce tampon. S'il y a plus de valeurs dans le tableau source que dans ce tampon, c'est-à-dire si length > size() , alors aucune valeur n'est transférée et une BufferOverflowException est levée.
Sinon, cette méthode copie les valeurs n = length du tableau donné dans ce tampon, en commençant au décalage donné.
Paramètres
| src | le tableau source à partir duquel les valeurs doivent être lues |
|---|---|
| compenser | le décalage dans le tableau de la première valeur à lire ; doit être non négatif et ne pas dépasser src.length |
| longueur | le nombre de valeurs à lire dans le tableau donné ; doit être non négatif et ne pas dépasser src.length - offset |
Retours
- ce tampon
Jetés
| BufferOverflowException | s'il n'y a pas suffisamment d'espace dans ce tampon pour les valeurs du tableau source |
|---|---|
| IndexOutOfBoundsException | si les conditions préalables sur les paramètres offset et longueur ne sont pas remplies |
| ReadOnlyBufferException | si ce tampon est en lecture seule |