Java遍历集合的三种方式

对于遍历集合获取其对象,在这里总结的三种简单方式

方式一 : 将集合变为数组,后遍历数组

  Object[] obj = list.toArray();
  for(Object s : obj){
    System.out.println((String) s);
  }

方式二 :  get()方法获取 。 但只能在list集合中使用, 只有List集合才有索引值。

  for(int i = 0;i<list.size();i++){
    System.out.println(list.get(i));
  }

方式三 :  通过迭代器

  ListIterator it = list.listIterator();
    while(it.hasNext()){
      System.out.println(it.next());
  }

一下有两案例可对比

Collection案例:

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
public class paseWork {
  public static void main(String[] args) {
    CollectionTest();
  }
  public static void CollectionTest(){
    Collection <String>collection = new ArrayList<String>();
    collection.add("初一");
    collection.add("小二");
    collection.add("张三");
    collection.add("李四");
    collection.add("王五");
    //1.集合转为数组 Object[]
    Object[] objectsArrC = collection.toArray();
    for (Object object : objectsArrC) {
      String string = (String) object; // 将对象强制转换为字符串输出
      System.out.println(string);
    }
    //2.get()方法获取元素
    for (int i = 0;i < collection.size();i++){
      //get()只能用在list集合中,所以这里需要转换形式
      System.out.println(((ArrayList<String>) collection).get(i));
    }
    //3.迭代器
    Iterator<String> it = collection.iterator();
    while(it.hasNext()){
      System.out.println(it.next());
    }
  }
}

List 案例:

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.ListIterator;
public class paseWork {
  public static void main(String[] args) {
    ListTest();
  }
  public static void ListTest(){
    List<String> list = new ArrayList<String>();
    list.add("初一");
    list.add("小二");
    list.add("张三");
    list.add("李四");
    list.add("王五");
    //1.集合转为数组 Object[]
    Object[] objectsArrL = list.toArray();
    for (Object object : objectsArrL) {
      String string = (String) object; //将对象强制转换为字符串输出
      System.out.println(string);
    }
    //2.通过 get() 方法
    for (int i = 0; i < list.size(); i++) {
      System.out.println(list.get(i));
    }
    //3.迭代器
    ListIterator<String> iterator = list.listIterator();
    while(iterator.hasNext()){
      System.out.println(iterator.next());
    }
  }
}

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!

(0)

相关推荐

  • Java Set集合的遍历及实现类的比较

    Java Set集合的遍历及实现类的比较 Java中Set集合是一个不包含重复元素的Collection,首先我们先看看遍历方法 package com.sort; import java.util.HashSet; import java.util.Iterator; import java.util.Set; /** * 一个不包含重复元素的 collection.更确切地讲,set 不包含满足 e1.equals(e2) 的元素对 e1 和 e2, * @author Owner * */

  • Java遍历集合方法分析(实现原理、算法性能、适用场合)

    概述 Java语言中,提供了一套数据集合框架,其中定义了一些诸如List.Set等抽象数据类型,每个抽象数据类型的各个具体实现,底层又采用了不同的实现方式,比如ArrayList和LinkedList. 除此之外,Java对于数据集合的遍历,也提供了几种不同的方式.开发人员必须要清楚的明白每一种遍历方式的特点.适用场合.以及在不同底层实现上的表现.下面就详细分析一下这一块内容. 数据元素是怎样在内存中存放的? 数据元素在内存中,主要有2种存储方式: 1.顺序存储,Random Access(Di

  • java集合遍历的几种方式总结及详细比较

    集合类的通用遍历方式, 用迭代器迭代: Iterator it = list.iterator(); while(it.hasNext()) { Object obj = it.next(); } Map遍历方式: 1.通过获取所有的key按照key来遍历 //Set<Integer> set = map.keySet(); //得到所有key的集合 for (Integer in : map.keySet()) { String str = map.get(in);//得到每个key多对用v

  • java中循环遍历删除List和Set集合中元素的方法(推荐)

    今天在做项目时,需要删除List和Set中的某些元素,当时使用边遍历,边删除的方法,却报了以下异常: ConcurrentModificationException 为了以后不忘记,使用烂笔头把它记录如下: 错误代码的写法,也就是报出上面异常的写法: Set<CheckWork> set = this.getUserDao().getAll(qf).get(0).getActionCheckWorks(); for(CheckWork checkWork : set){ if(checkWor

  • java集合map取key使用示例 java遍历map

    复制代码 代码如下: for (Iterator i = keys.iterator(); i.hasNext()        {           String key = (String) i.next();           String value = (String) map.get(key);           text+=key + " = " + value;       } 复制代码 代码如下: <span style="border-coll

  • java中List集合及其遍历详解

    1. 首先List<E>集合继承与Collection<E>,是一个接口. ①  Collection (集合框架是JDK1.2版本出现的) ②   list:是有序的,元素可以重复,以为该集合体系有索引.    经常用到的是实现该接口的ArrayList和LinkedList类 ③   Arraylist:  底层的数据结构使用的是数组结构, 特点: 查询速度很快,但是增删稍慢.线程不同步 LinkedList: 底层使用的是链表数据结构. 特点: 增删速度很快,查询稍慢. Ve

  • Java集合Set、List、Map的遍历方法

    本文实例讲述了Java集合Set.List.Map的遍历方法,分享给大家供大家参考. 具体方法如下: package com.shellway.javase; import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.uti

  • Java遍历集合的三种方式

    对于遍历集合获取其对象,在这里总结的三种简单的方式 方式一 : 将集合变为数组,后遍历数组 Object[] obj = list.toArray(); for(Object s : obj){ System.out.println((String) s); } 方式二 :  get()方法获取 . 但只能在list集合中使用, 只有List集合才有索引值. for(int i = 0;i<list.size();i++){ System.out.println(list.get(i)); }

  • Java压缩集合的三种方法

    前言 这个问题算是开发当中偶尔会遇到的一个小问题,比如如何将两个集合压缩成为一个逻辑集合. 如果你不理解,我们可以看一个简单的例子,去说明什么是压缩集合.本文文章不长,但是还算是比较实用的小技巧.主要内容来源于国外小哥Baeldung的博客:下面给出个地址 https://www.baeldung.com/java-collections-zip 这位大佬虽然写的很详细,但是有一些细节小问题,我在此基础之上,实地验证了一遍,发现有几个坑,不过已经填完了. 案例解释什么是压缩集合 现在有两个集合:

  • 详解Java实现多线程的三种方式

    本文实例为大家分享了Java实现多线程的三种方式,供大家参考,具体内容如下 import java.util.concurrent.Callable; import java.util.concurrent.FutureTask; public class Main { public static void main(String[] args) { //方法一:继承Thread int i = 0; // for(; i < 100; i++){ // System.out.println(T

  • 基于java解析JSON的三种方式详解

    本文实例分析了基于java解析JSON的三种方式.分享给大家供大家参考,具体如下: 一.什么是JSON? JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度. JSON就是一串字符串 只不过元素会使用特定的符号标注. {} 双括号表示对象 [] 中括号表示数组 "" 双引号内是属性或值 : 冒号表示后者是前者的值(这个值可以是字符串.数字.也可以是另一个数组或对象) 所以 {"name"

  • Java字符串写入文件三种方式的实现

     Java字符串写入文件三种方式的实现 1.使用FileWriter String str="hello world!"; FileWriter writer; try { writer = new FileWriter("E:/token.txt"); writer.write(str); writer.flush(); writer.close(); } catch (IOException e) { e.printStackTrace(); } 2.使用Fil

  • Java实现克隆的三种方式实例总结

    本文实例讲述了Java实现克隆的三种方式.分享给大家供大家参考,具体如下: 1.浅复制(浅克隆)这种浅复制,其实也就是把被复制的这个对象的一些变量值拿过来了.最后生成student2还是一个新的对象. public class CloneTest1 { public static void main(String[] args) throws Exception { Student1 student = new Student1(); student.setAge(24); student.se

  • Java 实现栈的三种方式

    栈:LIFO(后进先出),自己实现一个栈,要求这个栈具有push().pop()(返回栈顶元素并出栈).peek() (返回栈顶元素不出栈).isEmpty()这些基本的方法. 一.采用数组实现栈 提示:每次入栈之前先判断栈的容量是否够用,如果不够用就用Arrays.copyOf()进行扩容 import java.util.Arrays; /** * 数组实现栈 * @param <T> */ class Mystack1<T> { //实现栈的数组 private Object

  • java多线程开启的三种方式你知道吗

    目录 1.继承Thread类,新建一个当前类对象,并且运行其start()方法 2.实现Runnable接口,然后新建当前类对象,接着新建Thread对象时把当前类对象传进去,最后运行Thread对象的start()方法 3.实现Callable接口,新建当前类对象,在新建FutureTask类对象时传入当前类对象,接着新建Thread类对象时传入FutureTask类对象,最后运行Thread对象的start()方法 总结 1.继承Thread类,新建一个当前类对象,并且运行其start()方

  • 详细解读JAVA多线程实现的三种方式

    最近在做代码优化时学习和研究了下JAVA多线程的使用,看了菜鸟们的见解后做了下总结. 1.继承Thread类实现多线程 继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过Thread类的start()实例方法.start()方法是一个native方法,它将启动一个新线程,并执行run()方法.这种方式实现多线程很简单,通过自己的类直接extend Thread,并复写run(

  • Java对象的复制三种方式(小结)

    1.概述 在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能 会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值,也就是说,A与B是两个独立的对象,但B的初始值是由A对象确定的.例如下面程序展示的情况: class Student { private int number; public int getNumber() { return number; } public void setNumber(int number)

随机推荐