精华内容
下载资源
问答
  • Java中List集合的遍历
    千次阅读
    2021-11-12 17:36:30

    一、序言

            List集合在Java日常开发中是必不可少的,只要懂得运用各种各样的方法就可以大大提高我们开发的效率,适当活用各种方法才会使我们开发事半功倍。

      本文总结了三种List集合的遍历方式,下面将依次进行介绍。

    二、遍历方式

            进行遍历前,需要有一个实体类以供遍历使用,参见“三、实体类”;

    2.1 for循环

            指定下标长度,使用List集合的size()方法,进行for循环遍历,这种遍历方式最基础;

    import java.util.ArrayList;
    
    public class Demo01 {
       /* for循环遍历List集合 */
      public static void main(String[] args) {
       ArrayList<News> list = new ArrayList<News>();
       list.add(new News(1,"list1","a"));
       list.add(new News(2,"list2","b"));
       list.add(new News(3,"list3","c"));
       list.add(new News(4,"list4","d"));
       for (int i = 0; i < list.size(); i++) {
                News s = (News)list.get(i);
                System.out.println(s.getId()+"  "+s.getTitle()+"  "+s.getAuthor());
       }  
       }
    }

    2.2 foreach循环

            使用foreach遍历List,但不能对某一个元素进行操作(这种方法在遍历数组和Map集合的时候同样适用),这种遍历方式较为简洁;

    import java.util.ArrayList;
    
    public class Demo02 {
        /* foreach循环遍历List集合 */
        public static void main(String[] args) {
            ArrayList<News> list = new ArrayList<News>();
            list.add(new News(1,"list1","a"));
            list.add(new News(2,"list2","b"));
            list.add(new News(3,"list3","c"));
            list.add(new News(4,"list4","d"));
            for (News s : list) {
                System.out.println(s.getId()+"  "+s.getTitle()+"  "+s.getAuthor());
            }
        }
    }

    2.3 Iterator迭代器

            使用迭代器Iterator进行遍历,这是直接根据List集合的一种自动遍历方式;

    import java.util.ArrayList;
    
    public class Demo03 {
        public static void main(String[] args) {
            ArrayList<News> list = new ArrayList<News>();
        
            list.add(new News(1,"list1","a"));
            list.add(new News(2,"list2","b"));
            list.add(new News(3,"list3","c"));
            list.add(new News(4,"list4","d"));
       
            Iterator<News> iter = list.iterator();
            while (iter.hasNext()) {
                News s = (News) iter.next();
                System.out.println(s.getId()+"  "+s.getTitle()+"  "+s.getAuthor());
            }
        }
    }

             上面三种遍历方式差别不是特别大,在没有特定的要求时,均可以使用。不过根据不同的特殊情况,要合理选择方式,来提高开发的效率。

    更多相关内容
  • Java集合List常见方法

    2020-12-22 21:37:25
    Java集合常见方法 1.集合 在说java中集合方法之前,先来了解一下什么是集合,在学习使用集合之前,我们都学过数组的使用,他们的结构很相似,...我们平时在java中使用到的List、Set等集合的总接口都来自Collection,jav
  • 主要介绍了java集合中list用法代码示例,分享了相关代码,具有一定参考价值,需要的朋友可以了解下。
  • java中list集合对sort的使用方法

    千次阅读 2020-04-12 18:42:38
    List集合的排序: java提供了两种排序方式,分别是Collections.sort(List)和Collections.sort(List,Commparator),下面就这两种方法使用做详细的说明: 方法一:Collections.sort(List) 这个方法有分两种情况:1、...

    List集合的排序:
    java提供了两种排序方式,分别是Collections.sort(List)和Collections.sort(List,Commparator),下面就这两种方法的使用做详细的说明:

    方法一:Collections.sort(List)

    这个方法有分两种情况:1、比较的是基础数据 2、比较的是引用数据

         1、基础数据的比较呢,一般都是直接比较,因为基础数据都实现了CompareTo()方法,例如

    package www.lxk.day15.commparable;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    
    public class CommparableClass {
        /**
         * 用Collections.sort(List)排序
         * list元素的类型是String类型
         * String 类型实现了Commparable接口,并重写了CompareTo方法
         * CompareTo方法中写的是比较原则
         */
        public void sortString(){
            ArrayList<String> strs=new ArrayList<String>();
            strs.add("123");
            strs.add("987");
            strs.add("abc");
            strs.add("ABC");
    
            System.out.println("---------------原始顺序,没有排序-------------");
            for(String str:strs){
                System.out.println(str);
            }
            System.out.println("----------------------------------------");
            Collections.sort(strs);
            System.out.println("--------------- 经过排序后输出   --------------");
            for(String str:strs){
                System.out.println(str);
            }
        }
    }
    

       2、比较的是引用数据,引用数据就必须要我们实现Comparable接口,并重写CompareTo方法,在此方法中指定排序原则,例如

    package www.lxk.day15.demo1;
    
    public class Student  implements Comparable<Student>{
        public String stuNo;
    
        public String name;
       
        public Integer age;
    
    
        @Override
        public int compareTo(Student o) {
            // TODO Auto-generated method stub
            //按照年龄排序
            int result1=this.getAge()-o.getAge();
            return result1;
        }
    }
    

    排序的情况如下:

    package www.lxk.day15.commparable;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    public class CommparableClass {
    /**
         * 用Collections.sort(List)排序
         * list元素的类型是Student类型
         * String 类型实现了Commparable接口,并重写了CompareTo方法
         * CompareTo方法中写的是比较原则
         */
        public void sortStudent(){
            ArrayList<Student> stus=new ArrayList<Student>();
            Student stu1=new Student("张三",20,"S001");
            Student stu2=new Student("李四",21,"S002");
            Student stu3=new Student("王五",22,"S003");
            Student stu4=new Student("张四",22,"S004");
    
            stus.add(0,stu1); 
            stus.add(1,stu2);
            stus.add(2,stu3);
            stus.add(3,stu4);
    
            System.out.println("---------------原始顺序,没有排序-------------");
            for(Student stu:stus){
                System.out.println("name="+stu.getName()+"age="+stu.getAge()+"stuNo="+stu.getStuNo());
            }
            System.out.println("----------------------------------------");
            Collections.sort(stus);
            System.out.println("--------------- 经过排序后输出   --------------");
            for(Student str:stus){
                System.out.println("name="+str.getName()+"age="+str.getAge()+"stuNo="+str.getStuNo());
            }
        }
        }
    

    方法二:Collections.sort(List,Commparator)

    -Collections.sort(List,Commparator);
    sort方法的参数有两个,一个是要排序的List集合,另一个参数是Comparator接口,在比较器中,指定要排序的原则,
    使用比较器方式就不用对要比较的集合的类类型实现Comparable接口
    可以实现多个比较器,每个比较器就是一种排序原则
     

    ackage www.lxk.day15.commparator;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.Comparator;
    import java.util.List;
    
    import www.lxk.day15.demo1.Student;
    
    public class ComparatorClass {
        /**
         * 此方法用于获取一个List集合
         * @return
         */
        public List<Student> getStudents(){
            List<Student> stus=new ArrayList<Student>();
            Student stu1=new Student("张三",20,"S001");
            Student stu2=new Student("李四",21,"S002");
            Student stu3=new Student("王五",22,"S003");
            Student stu4=new Student("张四",22,"S004");
    
            stus.add(0,stu1);
            stus.add(1,stu2);
            stus.add(2,stu3);
            stus.add(3,stu4);
            return stus;
        }
        /**
         * 根据Comparator接口的子实现来指定排序的原则,策略模式
         * 按照姓名排序
         * @param stus
         */
        public void sortName(List<Student> stus){
            Collections.sort(stus, new Comparator<Student>(){
    
                @Override
                public int compare(Student stu1, Student stu2) {
                    return stu1.getName().compareTo(stu2.getName());
                }
    
            });
            for(Student stu:stus){
                System.out.println("name="+stu.getName()+"age="+stu.getAge()+"stuNo="+stu.getStuNo());
            }
        }
        /**
         * 根据Comparator接口的子实现来指定排序的原则,策略模式
         * 按照年龄排序
         * @param stus
         */
        public void sortAge(List<Student> stus){
            Collections.sort(stus, new Comparator<Student>(){
    
                @Override
                public int compare(Student stu1, Student stu2) {
                    return stu1.getAge()-stu2.getAge();
                }
    
            });
            for(Student stu:stus){
                System.out.println("name="+stu.getName()+"age="+stu.getAge()+"stuNo="+stu.getStuNo());
            }
        }
        /**
         * 根据Comparator接口的子实现来指定排序的原则,策略模式
         * 按照年龄排序
         * @param stus
         */
        public void sortstuNo(List<Student> stus){
            Collections.sort(stus, new Comparator<Student>(){
    
                @Override
                public int compare(Student stu1, Student stu2) {
                    return stu1.getStuNo().compareTo(stu2.getStuNo());
                }
    
            });
            for(Student stu:stus){
                System.out.println("name="+stu.getName()+"age="+stu.getAge()+"stuNo="+stu.getStuNo());
            }
        }
    }
    

     

    展开全文
  • Java中List集合的常用方法

    千次阅读 2021-02-26 18:02:04
    ListList接口是继承Collection接口,所以Collection集合有的方法List集合也继承过来。常用方法:void add(int index, E element)在指定位置插入元素,后面的元素都往后移一个元素。boolean addAll(int index, ...

    List

    List接口是继承Collection接口,所以Collection集合中有的方法,List集合也继承过来。

    d1d523fe76f30542af7d6783c7426bd1.png

    常用方法:

    void add(int index, E element)

    在指定位置插入元素,后面的元素都往后移一个元素。

    boolean addAll(int index, Collection extends E> c)

    在指定的位置中插入c集合全部的元素,如果集合发生改变,则返回true,否则返回false。

    意思就是当插入的集合c没有元素,那么就返回false,如果集合c有元素,插入成功,那么就返回true。

    E get(int index)

    返回list集合中指定索引位置的元素

    int indexOf(Object o)

    返回list集合中第一次出现o对象的索引位置,如果list集合中没有o对象,那么就返回-1

    ListIteratorlistIterator()

    返回此列表元素的列表迭代器(按适当顺序)。

    ListIteratorlistIterator(int index)

    从指定位置开始,返回此列表元素的列表迭代器(按适当顺序)。

    和上面那个迭代器不同的就是多了一个参数,就是能控制迭代器开始的位置。

    E remove(int index)

    删除指定索引的对象

    展开全文
  • 主要针对Java中List使用方法为大家介绍了进行简单介绍,List是个集合接口,只要是集合类接口都会有个“迭代子”( Iterator ),利用这个迭代子,就可以对list内存的一组对象进行操作,感兴趣的小伙伴们可以参考...
  • java中List集合使用

    千次阅读 2017-08-22 13:18:24
    1.List集合是一个容器,可以添加各种各样的数据,但如果我们需要添加某一种类型的数据时,则需要在list容器添加泛型来限制添加的元素数据类型。 2.List重要方法参考:...

    1.List集合是一个容器,可以添加各种各样的数据,但如果我们需要添加某一种类型的数据时,则需要在list容器添加泛型来限制添加的元素数据类型。

    2.List重要方法参考:http://tool.oschina.net/apidocs/apidoc?api=jdk-zh

    List 常用方法

    方法说明
    get(int index)获取列表指定元素
    set(int index,E element)修改指定位置的值,新值为element
    add(int index,E element)向列表指定位置插入数值
    add(E element)向列表中添加值
    remove(int index)删除列表指定元素

    Iterator常用方法

    方法说明
    boolean hasNext()判断是否有后续元素,有则返回true
    E next()返回后续元素
    void remove()删除迭代器当前指向的元素

    3.List集合元素的3种遍历方法

    for (int i = 0; i <list.size(); i++) {
                  String element = list.get(i);
                  System.out.println("索引=" + i + ", 元素=" + element);
                }
    Iterator it=list.iterator();
            while(it.hasNext()){
                Object object= it.next();
                System.out.println(object);
            }
    Object[] object=list.toArray();
            for(int i=0;i<object.length;i++){
                Object ojt=object[i];
                System.out.println(ojt);
            }

    4.代码演示

    package com.Collection;
    
    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.List;
    
    public class testList {
    
        public static void main(String[] args) {
            //1.添加泛型,限制添加元素的数据类型
            List<String> list = new ArrayList<>();
            list.add("战狼2");
            list.add("建国大业");
            list.add("十里桃花");
            System.out.println("list"+list);
    
            //2.遍历结果集
            for (int i = 0; i <list.size(); i++) {
                  String element = list.get(i);
                  System.out.println("索引=" + i + ", 元素=" + element);
                }
    
            Iterator it=list.iterator();
            while(it.hasNext()){
                Object object= it.next();
                System.out.println(object);
            }
            Object[] object=list.toArray();
            for(int i=0;i<object.length;i++){
                Object ojt=object[i];
                System.out.println(ojt);
            }
    
            //3.查询指定范围内的元素
             List<String> subList = list.subList(1, 2);
             System.out.println(subList);
    
             //4.元素索引位置从0开始
             list.remove(2); 
             System.out.println(list);
    
        }
    
    }
    
    
    控制台输出结果:
    
    list[战狼2, 建国大业, 十里桃花]
    战狼2
    建国大业
    十里桃花
    [建国大业]
    [战狼2, 建国大业]
    

    5.ArrayList、LinkList、Vector的使用和 List方法一样。

    List总结:http://cmsblogs.com/?p=1201

    参考文档:http://www.java2s.com/Tutorials/Java/java.util/ArrayList/index.htm

    展开全文
  • JAVA List合并集合

    千次阅读 2021-03-04 07:43:39
    import java.util.List;public class test {public static void main(String[] args) throws Exception {/*测试合并两个类型相同的list*/List list1 = new ArrayList();List list2 = new ArrayList(...
  • Java中List集合间的复制

    千次阅读 2021-03-15 04:01:55
    Java中List集合间的复制一、概览在这篇短文,我们将向你展示把一个List复制到另一个List去的不同方式以及在这个过程常见的错误。二、构造器copy一个List最简单方式就是使用构造器,这个构造器能接收一个集合...
  • Java删除List集合中元素的方法

    千次阅读 2021-11-12 16:05:11
    先初始化一个List集合 List list = new ArrayList(){ {add(1); add(2); add(3); }}; 1、增强for循环 错误示范 for (Integer i : list) { list.remove(i); } 这样做会抛出异常,因为不允许在元素被使用的时候同时被...
  • Java中List集合判空

    千次阅读 2022-02-09 19:03:59
    1、如果想判断list是否为空,可以这么判断: if(null == list || list.size() ==0 ){ ...如果判断一个集合有无元素 建议用isEmpty()方法.比较符合逻辑用法。 3、list !=null 跟 ! list.isEmpty()有什么区别?
  • Java中List的详细用法

    千次阅读 2021-11-12 20:07:02
    Java中List的详细用法 定义:List name = new ArrayList<>() 具体方法如下: 1.list中添加,获取,删除元素; 添加方法是:.add(e); 获取方法是:.get(index); 删除方法是:.remove(index); 按照索引删除...
  • Java中List用法

    千次阅读 2021-02-28 18:00:07
    List里面可以放任意的java对象,也可以直接放值,使用方法类似于数组。在使用List之前需要引入头文件java.util.*,例如:import java.util.*;public class list{public static void main(String args[]){List a = ...
  • List接口是继承Collection接口,所以Collection集合有的方法List集合也继承过来 List: 有序(放入的先后的次序), 放进集合的对象可以重复。 主要特征:其元素以线性方式存储,集合允许存放重复对象 ArrayList...
  • Java中copy 一个list集合方法

    万次阅读 2018-06-12 10:54:31
    原文地址:https://www.cnblogs.com/mr-wuxiansheng/p/6581171.htmljava将一个list里的数据转移到另外一个list,可以使用for语句,一次使用add方法,示例如下: ArrayList list1=new ArrayList(); list1.add("...
  • Java中List集合的(String类型)三种遍历的方法程序代码:程序运行结果: 程序代码: package homework09.homework0927; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public ...
  • 展开全部1、java中list集合中contains()的用法为:public boolean list.contains(Object o)意思为:当前列表若包含某元素,返回结果为true, 若不包含该元素,返回结果为false。2、contains()方法实...
  • Java中List集合使用

    千次阅读 2019-04-25 09:42:32
    package edu.ht.dribt.zp.controller;...import java.util.List; public class test { //main主方法 public static void main(String[] args) { //新建一个list1 //我这里没有指定泛型,所...
  • JavaList集合排序

    千次阅读 2021-06-08 10:38:30
    1.单属性变量集合排序,如LIst<Integer> List<Integer> intList = new ArrayList<>(); intList.add(54); intList.add(7674); intList.add(636); intList.add(4325); intList.add(21); ...
  • 主要介绍了java使用lambda表达式对List集合进行操作技巧适用jdk1.8,感兴趣的朋友跟着小编一起看看实现代码吧
  • Java集合------List集合

    千次阅读 2021-03-14 01:23:04
    public interface List extends Collection {}是一个有序的允许重复的集合,可以通过索引查找list中的具体元素。在开发常用实现类有:ArrayList、LinkedList、Vector:ArrayList 是一个数组队列,相当于动态数组。...
  • Java中List集合介绍(炒鸡详细呦)

    万次阅读 多人点赞 2019-11-04 17:02:33
    Java中List集合介绍(炒鸡详细呦) 1,Java集合介绍 作为一个程序猿,Java集合类可以说是我们在工作运用最多、最频繁的类。相比于数组(Array)来说,集合类的长度可变,更加方便开发。 Java集合就像一个容器,...
  • java中map集合用法

    热门讨论 2013-01-07 22:57:06
    java.util 集合类包含 Java 某些最常用的类。 最常用的集合类是 List 和 Map。 List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象元素列表。 List 适用...
  • Java 中List集合特点

    千次阅读 2019-06-09 21:55:24
    开发工具与关键技术:MyEclipse 10、list集合 作者: 撰写时间:2019年06月06日   今天来了解java中集合,java...Java集合大致可以分List、Set、Queue和Map四种体系,主要详细讲讲List集合。那么List集合的主...
  • Java 集合List及MapforEach()方法

    千次阅读 2021-02-26 09:40:00
    我们先看一个forEach()方法遍历List集合的例子://使用com.google.guava包创建集合List list =Lists.newArrayList("a","b","c","d");//遍历1 其中anyThing可以用其它字符替换list.forEach((anyThing)->System.out...
  • java获取list集合中最大值最小值

    千次阅读 2020-07-09 11:32:44
    java API Collections工具类里面有两个方法: Collections.max(list);//获取最大值 Collections.min(list);//获取最小值 这样可以直接获取,不用再使用排序取第一个或者最后一个。
  • java list集合 截取 函数

    千次阅读 2019-12-04 09:59:15
    解决“java list集合中有几十万条数据,每100条为一组取出来如何实现,求代码!!!”的问题。 原文链接:实现java list集合中有几十万条数据,每100条为一组取出 /** * 实现java list集合中有几十万条数据...
  • JavaList集合(三十)

    千次阅读 2021-03-15 03:47:29
    List接口java.util.List接口继承Collection接口,是集合的一个重要的分支,我们平常所使用最多的就是这个集合,我们用实现类所实现这个接口的时候,习惯把这个接口的对象叫做List集合List接口List集合的特点:1、它...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 460,498
精华内容 184,199
关键字:

java中list集合的用法

java 订阅