集合中有四个对象,取出其中一个对象与其他三个对象两两组合的结果进行输出去除重复 java代码
时间: 2024-03-12 13:45:38 浏览: 53
可以使用嵌套循环的方式实现,具体代码如下:
```java
String[] objs = {"A", "B", "C", "D"};
for (int i = 0; i < objs.length; i++) {
for (int j = i + 1; j < objs.length; j++) {
System.out.println(objs[i] + objs[j]);
}
}
```
这段代码中,外层循环用来依次取出集合中的每个对象,内层循环则从当前对象的下一个位置开始遍历,依次与剩余的对象进行组合,并输出组合结果。由于内层循环从外层循环变量的下一个位置开始,因此可以避免重复组合。
相关问题
将三个对象两两排列组合的java代码
以下是将三个对象两两排列组合的Java代码:
```
public class ObjectCombinations {
public static void main(String[] args) {
String[] objects = {"object1", "object2", "object3"};
for(int i = 0; i < objects.length; i++) {
for(int j = i+1; j < objects.length; j++) {
System.out.println(objects[i] + " and " + objects[j]);
}
}
}
}
```
这段代码使用了两个嵌套的for循环,外层循环选取第一个对象,内层循环选取第二个对象,并且确保第二个对象不会与第一个对象重复。然后将这两个对象拼接成一段字符串输出。这样就可以得到三个对象两两排列组合的所有可能性。
java集合中元素两两排列组合
在Java中,可以使用递归的方式实现集合中元素的两两排列组合。具体实现步骤如下:
1. 定义一个递归函数,函数参数包括原始集合、当前排列、当前位置和排列长度。
2. 如果当前排列长度等于2,则输出当前排列。
3. 否则,从当前位置开始遍历原始集合,将当前位置的元素加入当前排列中,然后递归调用函数,当前位置加1,当前排列长度加1。
4. 递归结束后,将当前位置的元素从当前排列中移除,当前排列长度减1。
以下是Java代码示例:
```java
import java.util.ArrayList;
import java.util.List;
public class Permutation {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
permutation(list, new ArrayList<>(), 0, 0);
}
public static void permutation(List<String> list, List<String> current, int pos, int len) {
if (len == 2) {
System.out.println(current);
return;
}
for (int i = pos; i < list.size(); i++) {
current.add(list.get(i)); permutation(list, current, i + 1, len + 1);
current.remove(current.size() - 1);
}
}
}
```
阅读全文