Maison >Java >javaDidacticiel >Pourquoi la suppression d'éléments de Arrays.asList() génère-t-elle une exception UnsupportedOperationException ?
La commodité d'Arrays.asList() : les pièges révélés
Arrays.asList() propose une approche simpliste de la création une liste, mais elle comporte une mise en garde : ses éléments sont immuables. Tenter d'effectuer des opérations telles que remove() déclenche une UnsupportedOperationException.
Arrays.asList() génère une "liste de taille fixe", interdisant toute modification structurelle, y compris la suppression d'éléments.
Pour remédier à cette limitation, optez pour une LinkedList, réputée pour son opération quick remove() :
List<String> list = new LinkedList<String>(Arrays.asList(split));
When En utilisant String.split() pour partitionner une chaîne, gardez à l'esprit que le caractère barre verticale (|) a une signification en tant que métacaractère regex. Pour éviter toute confusion, placez-le entre des barres obliques inverses (|) pour une correspondance littérale :
template.split("\|")
Pour surmonter l'inefficacité de la suppression d'éléments étape par étape, exploitez un approche plus efficace :
Cette approche raffinée présente une complexité O(N), garantissant des performances optimales.
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!