黑马程序员技术交流社区

标题: list集合怎么反转? [打印本页]

作者: life写实    时间: 2016-8-13 22:25
标题: list集合怎么反转?
求注释明确的代码
作者: 大帅哥哥    时间: 2016-8-13 22:39
技术很好 收下了
作者: 夜行御史    时间: 2016-8-13 23:29
倒序输出的话倒是挺简单的
作者: 水月灬清影    时间: 2016-8-14 11:50
Collections.reverse(list) //你是说这样?
作者: 水月灬清影    时间: 2016-8-14 11:51
夜行御史 发表于 2016-8-13 23:29
倒序输出的话倒是挺简单的

请问下你的勋章是怎么得的啊?
作者: 夜行御史    时间: 2016-8-14 22:51
水月灬清影 发表于 2016-8-14 11:51
请问下你的勋章是怎么得的啊?

论坛五周年,主页有这个活动,具体我也不知道怎么获得的,可能是看脸吧
作者: 冬冬宋    时间: 2016-8-14 23:55
有两种办法,一个是普通的for循环,需要把集合转换为字符串数组,然后遍历
private static void demo1() {
                Collection c  = new ArrayList(/*使用ArrayList空参*/);//父类引用指向子类对象,因为Collection是所有集合的根接口,
                                                //接口不能被实体化,所以可以使用其子类对象,这就是多态,运行看右边,变异看左边
                c.add("hello");//使用子类方法对向集合中添加元素
                c.add("world");
                c.add("java");
                c.add("css");
                c.add("html");
                //Iterator it = c.iterator();
                Object [] arr = c.toArray();//
                for (int i = 0; i < c.size(); i++) {
                        if(arr[i].equals("html")){
                                System.out.println(arr[i]);
                        }
                }
        }
还有一种就是使用迭代
package test;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

import com.Student.Student;

public class Demo3 {

        /**
         * @param args
         * 自定义对象使用迭代器对集合进行遍历
         * ArrayList是实现Collection接口的子类,接口即可以被实现,实现是多实现,也可以被继承
         */
        public static void main(String[] args) {
                Collection c = new ArrayList();//父类引用指向子类对象
                c.add(new Student("张三",23));//add添加自定义对象,是ArrayList中的方法
                c.add(new Student("赵四",23));
                c.add(new Student("刘能",23));
                c.add(new Student("谢广坤",23));
                c.add(new Student("谢大脚",23));
                Iterator it = c.iterator();//获取迭代器;; 返回在此 collection 的元素上进行迭代的迭代器
                while(it.hasNext()){        //判断集合中是否还有可以迭代的元素,如果有返回true
                        Student s = (Student)it.next();//向下转型
                        System.out.println(s.getName()+"..."+s.getAge());
                }
        }

}

作者: ylca    时间: 2016-8-15 08:25
水月灬清影 发表于 2016-8-14 11:51
请问下你的勋章是怎么得的啊?

好像有个帖子 回复了就有勋章了
作者: 奥特珞珞猫咪喵    时间: 2016-8-16 09:23
面试的时候被问到了
作者: q554293427    时间: 2016-8-16 11:08
for (int i = 0; i < (list.size()/2); i++) {                         Person p = list.get(i);                         list.set(i, list.get(list.size()-1-i));                         list.set(list.size()-1-i, p);                 }
作者: q554293427    时间: 2016-8-16 11:09
for (int i = 0; i < (list.size()/2); i++) {
                        Person p = list.get(i);
                        list.set(i, list.get(list.size()-1-i));
                        list.set(list.size()-1-i, p);
                }
作者: li--yong    时间: 2016-8-17 22:54
也来看看  长长见识
作者: l123456    时间: 2016-8-18 22:02
List<String> list = Arrays.asList(new String[] {"aa", "bb", "cc", "dd", "ee"}); Collections.reverse(list); for (String string : list) { System.out.println(string); }
作者: bin931207    时间: 2016-8-19 00:08
如果学了Collections 工具类的话,List的反转就一行代码搞定
作者: wmc1994    时间: 2016-8-19 00:23
冬冬宋 发表于 2016-8-14 23:55
有两种办法,一个是普通的for循环,需要把集合转换为字符串数组,然后遍历
private static void demo1() {
...

学到了,感觉挺难得
作者: zztierlie    时间: 2016-8-19 11:08
学到了好多东西,赞一个




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