java中的双层for循环只循环外面的for,里面的for不循环,如果要让里面液循环怎么做?
publicstaticvoidListTest(){String[]a={"A","B","C"};String[]b={};List<String>list_a=Ar...
public static void ListTest(){
String[] a = {"A","B","C"};
String[] b = {};
List<String> list_a = Arrays.asList(a);
List<String> list_b = Arrays.asList(b);
for(int i = 0; i < list_a.size(); i++){
String x = list_a.get(i).trim().toString();
for(int j = 0; j < list_b.size(); j++){
String y = list_b.get(j).trim().toString();
if(!x.equals(y)){
list_b.add(x);
}
}
}
} 展开
String[] a = {"A","B","C"};
String[] b = {};
List<String> list_a = Arrays.asList(a);
List<String> list_b = Arrays.asList(b);
for(int i = 0; i < list_a.size(); i++){
String x = list_a.get(i).trim().toString();
for(int j = 0; j < list_b.size(); j++){
String y = list_b.get(j).trim().toString();
if(!x.equals(y)){
list_b.add(x);
}
}
}
} 展开
展开全部
你那个去重方法太没效率了,并且你那样写逻辑都有问题
用map去重是最快最有效率的方法
String[] a = { "A", "B", "C", "C"};
List<String> list_a = Arrays.asList(a);
List<String> list_b = new ArrayList<String>();
Map map=new HashMap();
for (int i = 0; i < list_a.size(); i++) {
if(map.get(list_a.get(i)) == null){
map.put(list_a.get(i), list_a.get(i));
list_b.add(list_a.get(i));
}
}
System.out.println(list_b);
用map去重是最快最有效率的方法
String[] a = { "A", "B", "C", "C"};
List<String> list_a = Arrays.asList(a);
List<String> list_b = new ArrayList<String>();
Map map=new HashMap();
for (int i = 0; i < list_a.size(); i++) {
if(map.get(list_a.get(i)) == null){
map.put(list_a.get(i), list_a.get(i));
list_b.add(list_a.get(i));
}
}
System.out.println(list_b);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
b.length=0
list_b.size()----->0
j<list_b.size()----->false
看你想进行的操作是把两个数组做并集操作,a{0,1,23} b{1,5,6,0} result{0,1,2,3,5,6,}
但你的代码只有一个源数组,怎么并集
list_b.size()----->0
j<list_b.size()----->false
看你想进行的操作是把两个数组做并集操作,a{0,1,23} b{1,5,6,0} result{0,1,2,3,5,6,}
但你的代码只有一个源数组,怎么并集
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-02-01
展开全部
不是很明白你的题目,你的b数组是空的,所以转成list也是个空列表,里面的for循环肯定不会循环啦,要里面的for循环执行,就需要确定数组b非空
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
b数组连长度都没有,怎么会有
String y = list_b.get(j).trim().toString();
又怎么会有
if(!x.equals(y)),
设置b[0]=a[0],然后从i=1开始执行你上面的代码。
String y = list_b.get(j).trim().toString();
又怎么会有
if(!x.equals(y)),
设置b[0]=a[0],然后从i=1开始执行你上面的代码。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你里边的循环对象没有长度
追问
嗯!里面的循环对象是没有长度的,有没有方法在这种情况下让它循环啊?
追答
for(int j = 0; j <100; j++){
自己改值 - -!,但是你失去控制的意义了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询