java collections.unmodifiable
时间: 2023-12-10 12:42:57 浏览: 44
Java中的`Collections.unmodifiable`是一个静态方法,可以用于创建一个不可修改的集合(List、Set或Map)。它接受一个可修改的集合作为参数,并返回一个不可修改的版本。这意味着对返回的集合进行添加、删除或修改操作将会抛出`UnsupportedOperationException`异常。
这个方法是很有用的,因为有时候我们想要让某个集合只读,以防止其他人在不经意间修改它,但是又不想复制整个集合。使用`Collections.unmodifiable`可以很方便地实现这一点。
下面是一个示例代码:
```
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
List<String> unmodifiableList = Collections.unmodifiableList(list);
// 下面这行代码将会抛出 UnsupportedOperationException 异常
unmodifiableList.add("pear");
```
注意:`Collections.unmodifiable`方法只是返回一个不可修改的视图,而不是一个新的集合对象。因此,如果原始集合被修改了,不可修改的视图也会反映出这些变化。
相关问题
java Collections.frequency
java Collections.frequency方法用于返回给定对象在集合中出现的次数[1]。它的语法如下所示:
public static int frequency(Collection co, Object obj);
其中,co是待获取指定值出现次数的集合对象,obj是待计算频率的对象。该方法返回一个int值,表示给定对象在集合中出现的次数。
需要注意的是:
1. frequency方法位于java.util包中。
2. 该方法可以通过类名进行访问,也可以通过类对象进行访问。
3. 在返回频率时,如果给定参数Collection(co)存在null,则可能会引发NullPointerException异常。
例如,在以下代码中:
List link_l = new LinkedList();
link_l.add(11);
link_l.add(22);
link_l.add(33);
link_l.add(44);
int f1 = Collections.frequency(link_l, 44);
int f2 = Collections.frequency(link_l, 8);
输出结果为:
list: [11, 22, 33, 44]
Collections.frequency(link_l,44): 1
Collections.frequency(link_l,8): 0
可以看到,数字44在集合link_l中出现了一次,而数字8则没有出现。
java Collections.reverse
`Collections.reverse()` 方法是 Java 中的一个静态方法,用于反转给定列表的顺序。该方法接受一个可修改的列表作为参数,并将列表中的元素按相反的顺序重新排列。
下面是一个使用 `Collections.reverse()` 方法的示例:
```java
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
System.out.println("Before reversing: " + list);
Collections.reverse(list);
System.out.println("After reversing: " + list);
}
}
```
运行上述代码会输出以下结果:
```
Before reversing: [Apple, Banana, Cherry]
After reversing: [Cherry, Banana, Apple]
```
可以看到,`Collections.reverse()` 方法将列表中的元素从正常顺序变为相反顺序。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)