黑马程序员技术交流社区

标题: java基础Day16作业,求好方法!! [打印本页]

作者: WK_Tian    时间: 2016-8-29 02:59
标题: java基础Day16作业,求好方法!!
把集合中的元素反转
        a,定义循环, 循环size()/2次
        b,第一次交换第一个和最后一个, 第二次交换第二个和倒数第二个

public class Demo {
        public static void main(String[] args) {
                ArrayList<String> al = new ArrayList();
                al.add("1");
                al.add("2");
                al.add("3");
                al.add("4");
                System.out.println(al);
                print(al);
                System.out.println(al);
               
}
        public static ArrayList<String> print(ArrayList<String> al) {
                for (int i = 0; i < (al.size())/2; i++) {
                         String str = al.get(i);
                         String str2 = al.get(al.size()-i-1);
                         al.set(al.size()-i-1, str);
                         al.set(i,str2);
                }
                return al;
        }
}
作者: abcdefg11    时间: 2016-8-30 22:33
你只需要从尾部开始一个一个抽出来加到ArrayList的最后面就好了啊..
arrayList.size()如果是5,那你就
int (i=5-2;i>=0;i--;)
al.add(al.get(i));
al.remove(i);
不就好了吗
作者: yuanxianzhi    时间: 2016-8-30 22:38
再定义一个同样长度的集合,倒着存进去呗。
作者: 袁志娜    时间: 2016-8-30 22:48
顶贴,我也没有好办法
作者: WK_Tian    时间: 2016-8-31 02:39
abcdefg11 发表于 2016-8-30 22:33
你只需要从尾部开始一个一个抽出来加到ArrayList的最后面就好了啊..
arrayList.size()如果是5,那你就
int ( ...

int (i=5-2;i>=0;i--;) 这个可以解释说明一下吗
作者: WK_Tian    时间: 2016-8-31 02:54
袁志娜 发表于 2016-8-30 22:48
顶贴,我也没有好办法


作者: 坚持努力wbj    时间: 2016-8-31 03:29
List中元素不重复,你可以取出最后一个,将它放到第一个位置,把其余的向后挤,循环进行size-1次即可
作者: 坚持努力wbj    时间: 2016-8-31 03:41
坚持努力wbj 发表于 2016-8-31 03:29
List中元素不重复,你可以取出最后一个,将它放到第一个位置,把其余的向后挤,循环进行size-1次即可 ...

不对不对,我记混了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2