Collections.swap
时间: 2023-10-14 18:18:27 浏览: 181
Collections.swap 是一个 Java 中的静态方法,用于交换给定 List 中两个指定位置的元素。该方法的签名如下:
```java
public static <T> void swap(List<T> list, int i, int j)
```
其中,list 是要交换元素的 List,i 和 j 分别是要交换的两个元素的索引位置。调用该方法后,list 中 i 处的元素会与 j 处的元素交换位置。
例如,以下代码将会交换 list 中索引为 1 和 3 的两个元素:
```java
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
Collections.swap(list, 1, 3);
System.out.println(list); // 输出 [1, 4, 3, 2, 5]
```
相关问题
public void sortByYprice() { for (int i = 0; i < drugList.size() - 1; i++) { for (int j = 0; j < drugList.size() - i - 1; j++) { if (drugList.get(j).getYprice() > drugList.get(j + 1).getYprice()) { Collections.swap(drugList, j, j + 1); }解释代码
这段代码是一个对药品列表进行按照价格从低到高排序的方法。它使用了冒泡排序的算法来实现。具体来说,它通过两个嵌套的循环遍历了药品列表中的每一个元素,然后比较每相邻两个元素的价格大小,如果前一个元素的价格大于后一个元素的价格,就交换它们的位置,以此来达到排序的目的。其中,`Collections.swap()` 方法是用来交换两个元素的位置的。
collection.swap函数 java
在Java中,有一个名为`Collections`的类,它提供了一系列操作集合的静态方法,其中就包括`swap()`方法。该方法的作用是交换指定列表中指定位置的两个元素的位置。具体用法如下:
```java
public static void swap(List<?> list, int i, int j) {
list.set(i, list.set(j, list.get(i)));
}
```
其中,`list`是要进行交换的列表,`i`和`j`是要交换的元素在列表中的下标。
例如,以下代码将交换列表`list`中下标为`2`和下标为`4`的两个元素:
```java
List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.add("E");
Collections.swap(list, 2, 4);
System.out.println(list); // 输出 [A, B, E, D, C]
```
注意,`swap()`方法只适用于`List`类型的集合,对于`Set`和`Map`类型的集合,不支持交换元素位置。
阅读全文