Maison  >  Article  >  Java  >  Utilisez la fonction ArrayList.subList() de Java pour obtenir la sous-liste de la plage spécifiée de ArrayList

Utilisez la fonction ArrayList.subList() de Java pour obtenir la sous-liste de la plage spécifiée de ArrayList

PHPz
PHPzoriginal
2023-07-24 11:17:121697parcourir

Utilisez la fonction ArrayList.subList() de Java pour obtenir la sous-liste de la plage spécifiée d'ArrayList

En programmation Java, ArrayList est une structure de données très couramment utilisée. Elle peut être utilisée pour stocker un ensemble de données et des éléments peuvent être ajoutés. ou supprimé dynamiquement. Parfois, nous avons besoin d'obtenir certains éléments dans ArrayList, ce qui peut être réalisé en utilisant la fonction subList(). La définition de la fonction

subList() est la suivante :

List<E> subList(int fromIndex, int toIndex)

où, fromIndex représente l'index de début de la sous-liste (inclus), et toIndex représente la fin index de la sous-liste (non inclus). En appelant cette fonction, nous pouvons obtenir la sous-liste de fromIndex à toIndex-1. La sous-liste renvoyée est une nouvelle instance de List, qui pointe toujours vers l'ArrayList d'origine, et les modifications apportées à la sous-liste seront reflétées dans l'ArrayList d'origine. fromIndex表示子列表的起始索引(包含),toIndex表示子列表的结束索引(不包含)。通过调用这个函数,我们可以获得从fromIndextoIndex-1的子列表。返回的子列表是一个新的List实例,它仍然指向原来的ArrayList,并且对子列表的修改会反映到原来的ArrayList上。

下面是一个对ArrayList进行子列表操作的示例代码:

import java.util.ArrayList;
import java.util.List;

public class ArrayListExample {

    public static void main(String[] args) {
        // 创建一个包含整数的ArrayList
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        numbers.add(5);
        
        // 获取ArrayList的子列表
        List<Integer> subList = numbers.subList(1, 4);
        
        System.out.println("原始ArrayList中的元素:");
        for (Integer num : numbers) {
            System.out.print(num + " ");
        }
        System.out.println();
        
        System.out.println("子列表中的元素:");
        for (Integer num : subList) {
            System.out.print(num + " ");
        }
        System.out.println();
        
        // 修改子列表中的元素
        subList.set(0, 10);
        subList.set(1, 20);
        
        System.out.println("修改过后的原始ArrayList中的元素:");
        for (Integer num : numbers) {
            System.out.print(num + " ");
        }
        System.out.println();
    }
}

运行上述代码,输出结果为:

原始ArrayList中的元素:
1 2 3 4 5 
子列表中的元素:
2 3 4 
修改过后的原始ArrayList中的元素:
1 10 20 4 5 

从运行结果可以看出,通过subList()函数获取的子列表对原始ArrayList是有影响的。当我们修改子列表中的元素时,原始ArrayList中对应的元素也会被修改。

需要注意的是,subList()返回的子列表不能进行增加或删除操作,否则会抛出UnsupportedOperationException

Ce qui suit est un exemple de code pour l'opération de sous-liste sur ArrayList :

rrreee

Exécutez le code ci-dessus, le résultat de sortie est : 🎜rrreee🎜Comme le montrent les résultats d'exécution, la sous-liste obtenue via la fonction subList() a un certain effet sur l'ArrayList Influenced d'origine. Lorsque nous modifions un élément de la sous-liste, l'élément correspondant dans l'ArrayList d'origine sera également modifié. 🎜🎜Il convient de noter que la sous-liste renvoyée par subList() ne peut pas être ajoutée ou supprimée, sinon une exception UnsupportedOperationException sera levée. 🎜🎜De ce fait, l'utilisation de la fonction ArrayList.subList() permet de valoriser avec précision les données ArrayList selon une certaine plage, ce qui facilite les opérations ultérieures. Lors de son utilisation, vous devez faire attention à la plage de l'index et à son impact sur l'ArrayList d'origine afin d'obtenir, modifier et traiter correctement les éléments de la sous-liste. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn