Java Collections replaceAll() 方法



描述

Java Collections replaceAll(List<T>, T, T) 方法用于替换列表中所有指定值的出现。

声明

以下是 java.util.Collections.replaceAll() 方法的声明。

public static <T> boolean replaceAll(List<T> list,T oldVal,T newVal)

参数

  • list − 这是要进行替换的列表。

  • oldVal − 这是要替换的旧值。

  • newVal − 这是用来替换 oldVal 的新值。

返回值

如果列表包含一个或多个元素 e 使得 (oldVal==null ? e==null : oldVal.equals(e)),则方法调用返回“true”。

异常

UnsupportedOperationException − 如果指定的列表或其列表迭代器不支持 set 操作,则抛出此异常。

从整数列表中用给定值替换所有值的实例示例

以下示例演示了 Java Collection replaceAll(List, T, T) 方法的用法。我们创建了一个列表对象,并用一些整数填充它。然后替换其中一个值,然后打印结果。

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class CollectionsDemo {

   public static void main(String[] args) {
      List<Integer> list = new ArrayList<>(Arrays.asList(3,2,3,3,5));

      System.out.println("Initial collection value: " + list);
      // replace all 3 of this collection
      Collections.replaceAll(list, 3, 1);
      System.out.println("Final collection value: "+list);
   }
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

Initial collection value: [3, 2, 3, 3, 5]
Final collection value: [1, 2, 1, 1, 5]

从字符串列表中用给定值替换所有值的实例示例

以下示例演示了 Java Collection replaceAll(List, T, T) 方法的用法。我们创建了一个列表对象,并用一些字符串填充它。然后替换其中一个值,然后打印结果。

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class CollectionsDemo {

   public static void main(String[] args) {
      List<String> list = new ArrayList<>(Arrays.asList("C","B","C","C"));

      System.out.println("Initial collection value: " + list);
      // replace C of this collection
      Collections.replaceAll(list, "C","A");
      System.out.println("Final collection value: "+list);
   }
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

Initial collection value: [C, B, C, C]
Final collection value: [A, B, A, A]

从对象列表中用给定值替换所有值的实例示例

以下示例演示了 Java Collection replaceAll(List, T, T) 方法的用法。我们创建了一个列表对象,并用一些 Student 对象填充它。然后替换其中一个值,然后打印结果。

package com.tutorialspoint;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class CollectionsDemo {

   public static void main(String[] args) {
      List<Student> list = new ArrayList<>(Arrays.asList(new Student(1, "Julie"),
         new Student(2, "Robert"), new Student(3, "Adam"), new Student(1, "Julie"), new Student(1, "Julie")));

      System.out.println("Initial collection value: " + list);
      // replace Julie with null in this collection
      Collections.replaceAll(list, new Student(1, "Julie"), null);
      System.out.println("Final collection value: "+list);
   }
}
class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
   @Override
   public boolean equals(Object obj) {
      Student s = (Student)obj;
      return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
   }
}

输出

让我们编译并运行上面的程序,这将产生以下结果:

Initial collection value: [[ 1, Julie ], [ 2, Robert ], [ 3, Adam ], [ 1, Julie ], [ 1, Julie ]]
Final collection value: [null, [ 2, Robert ], [ 3, Adam ], null, null]
java_util_collections.htm
广告