A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

把集合中的元素反转
        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;
        }
}

7 个回复

倒序浏览
你只需要从尾部开始一个一个抽出来加到ArrayList的最后面就好了啊..
arrayList.size()如果是5,那你就
int (i=5-2;i>=0;i--;)
al.add(al.get(i));
al.remove(i);
不就好了吗
回复 使用道具 举报
再定义一个同样长度的集合,倒着存进去呗。
回复 使用道具 举报
顶贴,我也没有好办法
回复 使用道具 举报
abcdefg11 发表于 2016-8-30 22:33
你只需要从尾部开始一个一个抽出来加到ArrayList的最后面就好了啊..
arrayList.size()如果是5,那你就
int ( ...

int (i=5-2;i>=0;i--;) 这个可以解释说明一下吗
回复 使用道具 举报
袁志娜 发表于 2016-8-30 22:48
顶贴,我也没有好办法

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

不对不对,我记混了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马