java 遍历集合或数组组合成新的集合对象!

String[] temp = {"a","b","c","d"};
要求执行之后的要求结果为{"a","b","c","d","ab","ac","ad","bc","bd","cd","abc","abd","bcd","abcd"}
此外 如果abc已经存在则这三个字母的其他形式的组合就不用再次出现..

第1个回答  推荐于2016-11-18
我靠,想了好久..
public class Combination {
public static void combiantion(char chs[]){
if(chs==null||chs.length==0){
return ;
}
List<Character> list=new ArrayList();
for(int i=1;i<=chs.length;i++){
combine(chs,0,i,list);
}
}
public static void combine(char []cs,int begin,int number,List<Character> list){
if(number==0){
System.out.println(list.toString());
return ;
}
if(begin==cs.length){
return;
}
list.add(cs[begin]);
combine(cs,begin+1,number-1,list);
list.remove((Character)cs[begin]);
combine(cs,begin+1,number,list);
}
public static void main(String args[]){
char chs[]={'a','b','c'};
combiantion(chs);
}
}本回答被提问者和网友采纳
第2个回答  2015-01-08
我教你,行不?追问

再好不过! 不知道你有什么思路..

java中foreach的语法,用法是什么?
1. 遍历数组:使用foreach循环可以方便地遍历数组中的每一个元素,而无需知道数组的具体大小。例如:java int[] numbers = {1, 2, 3, 4, 5};for { System.out.println;} 这段代码会依次打印出数组`numbers`中的每个元素。2. 遍历集合:对于Java集合框架中的集合,如List、Set等,同样可以使用...

Java的foreach怎么用?
JAVA中foreach循环使用foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。foreach 语法格式如下:正确用法应该是:

《阿里巴巴Java开发手册》不建议在for循环中使用"+"进行字符串拼接_百 ...
字符串拼接是将多个字符串组合成一个新字符串的过程。虽然Java中的String类不可变,但拼接操作实际上生成了新字符串。例如,s = s + "新内容",实际上创建了新字符串,s仅引用此新对象。Java中存在多种字符串拼接方式,本文将介绍几种常用方法:使用+、concat、StringBuffer、StringBuilder和StringUtils....

java中的集合哪些可以边遍历边删除,哪些不可以,还有哪些可以边遍历边添...
1. 在Java中,可以边遍历边删除的集合包括:List接口的所有实现类(如ArrayList、LinkedList等),因为它们支持快速随机访问,允许在遍历过程中删除元素。2. 不可以边遍历边删除的集合包括:Set接口的所有实现类(如HashSet、TreeSet等),因为它们不支持快速随机访问,遍历过程中删除元素可能会导致ConcurrentM...

<c:forEach>属性
在JSTL(JavaServer Pages Standard Tag Library)中,是一个非常常用的迭代标签,用于遍历集合或数组等对象。下面详细解析标签的各个属性及其用法。迭代参数名称(var):定义变量名,用于在迭代体内引用当前迭代的元素。迭代对象(items):指定要迭代的对象,如集合、数组等。状态变量名称(varStatus):提供...

java中如何遍历一个类的所有对象?
你这里的numbers是一个对象数组,所以你可以这样遍历,单个对象是不行的。遍历对象内部成员,在反射里面有方法,我刚练习完,只有将对象的成员分解到数组中才行。分享给你了:Class c=Class.forName("AbstractClassTest.Car"); \/\/要包名+类名 Object o=c.newInstance();Car car=(Car)o;Field[] ...

java里setlist为什么能遍历集合
1. List的遍历方法 List集合有三种遍历方式:- 迭代器遍历:```java List list = new ArrayList();list.add("a");list.add("b");list.add("c");\/\/ 可添加重复数据 for(Iterator iterator = list.iterator(); iterator.hasNext();) { String value = iterator.next();System.out.println...

Java开发最常犯的10个错误,打死都不要犯!
错误一:Array转成ArrayList的误解 尽管将数组转换为ArrayList看起来简单直接,但其实背后隐藏了一些陷阱。通过Arrays.asList()方法得到的ArrayList,内部结构是固定的,不支持动态添加或删除元素。正确的做法是先使用ArrayList的构造函数接收一个集合参数,或者直接new一个ArrayList并使用add()方法。错误二:检查...

4. ArrayList 与 Vector 区别
通常情况下,如果不涉及同步操作,建议使用ArrayList。若需要线程安全的集合,可以考虑使用Vector,或者通过Collections.synchronizedList方法将ArrayList转换为线程安全的列表。此外,还可以考虑使用java.util.concurrent包中的类,如CopyOnWriteArrayList。在Java中,Enumeration是一个接口,用于遍历集合或数据结构中的...

请问java不同类的对象怎么放在同一个数组,然后如何对这个数组进行遍历...
数组只能限定为某一个类型,即数组内的所有元素都是相同类型的。不同的类就意味着数据类型不同,不可能放在一起。

相似回答