精华内容
下载资源
问答
  • c:foreach怎么循环输出list集合中某项的值,假如一个studentlist 的集合传到页面上去,我只想循环输出stuName的值,怎么搞?
  • 请将5个学生对象存入到List集合,用JSTL循环输出该集合中的学生对象。要求: 1、学生属性有:姓名、年龄、成绩; 2、输出学生信息用表格提示; 3、输出学生的平均年龄和平均分 .jsp页面 <%@ page language="java...

    在这里插入图请片描述
    请将5个学生对象存入到List集合,用JSTL循环输出该集合中的学生对象。要求:
    1、学生属性有:姓名、年龄、成绩;
    2、输出学生信息用表格提示;
    3、输出学生的平均年龄和平均分

    .jsp页面

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    	<table border="1px">
    		<tr>
    			<td>姓名</td>
    			<td>年龄</td>
    			<td>成绩</td>
    		</tr>
    				<!-- 循环输出 -->
       <c:forEach items="${list1}" var="item">
       		<tr>
    			<td><c:out value="${item.name}" escapeXml="false"></c:out></td>
    			<td><c:out value="${item.age}" escapeXml="false"></c:out></td>
    			<td><c:out value="${item.cj}" escapeXml="false"></c:out></td>
      		</tr>
       </c:forEach>
    	</table>
    		<h3>
    				<!-- 先拿值求和再除list.siez()  -->
    			<c:forEach items="${list1}" var="use" >  
    			  	<c:set var="ageSum" value="${ageSum + use.age }"/>		<!--  年龄和 -->
    			    <c:set var="cjSum" value="${cjSum + use.cj }"/>			<!-- 成绩和  -->
    			</c:forEach>
    				平均年龄:${ageSum/list1.size()}<br/>		<!-- 平均 -->
    				平均成绩:${cjSum/list1.size()}
    		</h3>
    </body>
    </html>
    

    .servlet页面

    package com.zktr01702.controller;
    
    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    import com.zktr01702.model.L9Yx2L;
    
    /**
     * Servlet implementation class L9Yx2Servlet
     */
    @WebServlet("/l9yx2servlet")
    public class L9Yx2Servlet extends HttpServlet {
    	private static final long serialVersionUID = 1L;
           
        /**
         * @see HttpServlet#HttpServlet()
         */
        public L9Yx2Servlet() {
            super();
            // TODO Auto-generated constructor stub
        }
    
    	/**
    	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		request.setCharacterEncoding("utf-8");
    		//实体
    		L9Yx2L l=new L9Yx2L("王大",19,100.00);
    		L9Yx2L l1=new L9Yx2L("张三",12,90.00);
    		L9Yx2L l2=new L9Yx2L("李四",13,80.00);
    		L9Yx2L l3=new L9Yx2L("刘邦",149,97.00);
    		L9Yx2L l4=new L9Yx2L("项羽",196,95.00);
    		//List
    		List<L9Yx2L> list=new ArrayList<>();
    		list.add(l);
    		list.add(l1);
    		list.add(l2);
    		list.add(l3);
    		list.add(l4);
    		request.setAttribute("list1", list);
    		request.getRequestDispatcher("L9/Yx2.jsp").forward(request, response);
    	}
    
    	/**
    	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
    	 */
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		// TODO Auto-generated method stub
    		doGet(request, response);
    	}
    
    }
    
    

    .实体类

    package com.zktr01702.model;
    
    public class L9Yx2L {
    	private String name;//姓名
    	private int age;//年龄
    	private double cj;/成绩
    	public int getAge() {
    		return age;
    	}
    	public double getCj() {
    		return cj;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setAge(int age) {
    		this.age = age;
    	}
    	public void setCj(double cj) {
    		this.cj = cj;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public L9Yx2L(String name, int age, double cj) {
    		super();
    		this.name = name;
    		this.age = age;
    		this.cj = cj;
    	}
    	public L9Yx2L() {
    		super();
    	}
    	@Override
    	public String toString() {
    		return "L9Yx2L [name=" + name + ", age=" + age + ", cj=" + cj + "]";
    	}
    	
    }
    
    
    展开全文
  • 常见集合的循环输出方式一、List集合循环输出List objList = new ArrayList();1) for (int i=0; i{// 循环输出集合中的每个对象Object object = objList.get(i);System.out.println(object);}2) for (Object obj:...

    常见集合的循环输出方式

    一、List集合的循环输出

    List objList = new ArrayList();

    1) for (int i=0; i

    {

    // 循环输出集合中的每个对象

    Object object = objList.get(i);

    System.out.println(object);

    }

    2)         for (Object obj:objList)

    {

    // 循环输出集合中的每个对象

    System.out.println(object);

    }

    3) 将List集合转换为迭代器Iterator接口,并且循环输出

    List list = new ArrayList();

    list.add("cheng");

    list.add("zhang");

    Iterator it = list.iterator();

    while (it.hasNext())

    {

    String str = (String)it.next();

    System.out.println(str);

    }

    4) 将List集合转换为Object类型的数组,循环输出

    List list = new ArrayList();

    list.add("cheng");

    list.add("zeng");  list.add("zhang");

    Object[] obj = list.toArray();

    for (int i=0; i

    {

    String s = (String)obj[i];

    System.out.println(s);

    }

    二.循环输出Set

    1) 将Set集合转换为迭代器Iterator接口,并且循环输出

    Set set = new HashSet();

    set.add("cheng");

    set.add("zeng");

    set.add("zhang");

    Iterator it = set.iterator();

    while (it.hasNext())

    {

    String str = (String)it.next();

    System.out.println(str);

    }

    2) 将Set集合转换为Object类型的数组

    Set set = new HashSet();

    set.add("cheng");

    set.add("zeng");

    set.add("zhang");

    Object[] obj = set.toArray();

    for (int i=0;i

    {

    String s = (String)obj[i];

    System.out.println(s);

    }

    三.循环输出Map  1) 直接循环Map对象

    Map map = new HashMap();

    map.put("1","cheng");

    map.put("2","zeng");

    map.put("3","zhang");

    // 输出键值

    for (String key:map.keySet())

    {

    System.out.println(key);

    }

    // 输出value

    for (String value:map.values())

    {

    System.out.println(value);

    }

    2)      Map map = new HashMap();

    map.put("1","cheng");

    map.put("2","zeng");

    map.put("3","zhang");

    Iterator it = map.entrySet().iterator();

    while (it.hasNext())

    {

    Map.Entry s = (Map.Entry)it.next();                         System.out.println(s);

    }

    输出结果:  3=zhang  2=zeng  1=cheng

    展开全文
  • 常见集合的循环输出方式一、List集合循环输出List objList = new ArrayList();1) for (int i=0; i{// 循环输出集合中的每个对象Object object = objList.get(i);System.out.println(object);}2) for (Object obj:...

    常见集合的循环输出方式

    一、List集合的循环输出

    List objList = new ArrayList();

    1) for (int i=0; i

    {

    // 循环输出集合中的每个对象

    Object object = objList.get(i);

    System.out.println(object);

    }

    2)         for (Object obj:objList)

    {

    // 循环输出集合中的每个对象

    System.out.println(object);

    }

    3) 将List集合转换为迭代器Iterator接口,并且循环输出

    List list = new ArrayList();

    list.add("cheng");

    list.add("zhang");

    Iterator it = list.iterator();

    while (it.hasNext())

    {

    String str = (String)it.next();

    System.out.println(str);

    }

    4) 将List集合转换为Object类型的数组,循环输出

    List list = new ArrayList();

    list.add("cheng");

    list.add("zeng");  list.add("zhang");

    Object[] obj = list.toArray();

    for (int i=0; i

    {

    String s = (String)obj[i];

    System.out.println(s);

    }

    二.循环输出Set

    1) 将Set集合转换为迭代器Iterator接口,并且循环输出

    Set set = new HashSet();

    set.add("cheng");

    set.add("zeng");

    set.add("zhang");

    Iterator it = set.iterator();

    while (it.hasNext())

    {

    String str = (String)it.next();

    System.out.println(str);

    }

    2) 将Set集合转换为Object类型的数组

    Set set = new HashSet();

    set.add("cheng");

    set.add("zeng");

    set.add("zhang");

    Object[] obj = set.toArray();

    for (int i=0;i

    {

    String s = (String)obj[i];

    System.out.println(s);

    }

    三.循环输出Map  1) 直接循环Map对象

    Map map = new HashMap();

    map.put("1","cheng");

    map.put("2","zeng");

    map.put("3","zhang");

    // 输出键值

    for (String key:map.keySet())

    {

    System.out.println(key);

    }

    // 输出value

    for (String value:map.values())

    {

    System.out.println(value);

    }

    2)      Map map = new HashMap();

    map.put("1","cheng");

    map.put("2","zeng");

    map.put("3","zhang");

    Iterator it = map.entrySet().iterator();

    while (it.hasNext())

    {

    Map.Entry s = (Map.Entry)it.next();                         System.out.println(s);

    }

    输出结果:  3=zhang  2=zeng  1=cheng

    展开全文
  • 最近刚学完集合框架,想把自己的一些学习笔记... 之前有介绍集合框架的体系概念(http://www.cnblogs.com/yjboke/p/8761195.html),本篇介绍一下集合扩展内容:集合循环输出方式及list输出方式的效率对比 遍...

    最近刚学完集合框架,想把自己的一些学习笔记与想法整理一下,所以本篇博客或许会有一些内容写的不严谨或者不正确,还请大神指出。初学者对于本篇博客只建议作为参考,欢迎留言共同学习。

      之前有介绍集合框架的体系概念(http://www.cnblogs.com/yjboke/p/8761195.html),本篇介绍一下集合扩展内容:集合循环输出方式及list输出方式的效率对比


     

    遍历循环输出方式。

      遍历输出方式我这边介绍四种,for循环、迭代器(Iterator)、增强for循环(foreach)和List集合特有的列表迭代器(ListIterator)。

      增强for循环在for循环的基础上简化了代码,普通for循环可以没有遍历的目标,而增强for循环一定要有遍历的目标。在增强for循环中不可以进行增删改等操作,如需增删改等操作请使用普通for循环。

      列表迭代器(ListIterator)是Iterator 的子接口,弥补了其无法新增、修改的缺点。 

      List<String> list = new ArrayList<String>();
            list.add("abc1");
            list.add("abc2");
            list.add("abc3");
            list.add("abc4");
            
            //普通for循环输出
            for(int i = 0; i<list.size(); i++){
                System.out.println(list.get(i));
            }
            
            //增强for循环输出
            for(String s : list){
                System.out.println(s);
            }
            //列表迭代器
            ListIterator<String> li = list.listIterator();
            while(li.hasNext()){
                Object object = li.next();
                if (object.equals("abc3")) {
                    li.add("asd");
                }
            }
            System.out.println(list);
            //迭代器输出
            for(Iterator<String> it = list.iterator(); it.hasNext();){
                System.out.println(it.next());
            }

      Map集合没有实现Iterable接口,所以map集合不能直接使用增强for循环,如果需要使用增强for循环需要借助于Set集合的keySet或entrySet集合。

      Map<Integer, String> map = new HashMap<Integer, String>();
            map.put(1001, "zhangsan");                        
            map.put(1002, "wangwu");
            map.put(1003, "lisi");
            map.put(1004, "maliu");
            //keySet方法
            Set<Integer> keySet = map.keySet();
            for(Integer i : keySet){
                System.out.println("key:"+i+"; value:"+map.get(i));
            }
            //entrySet方法
            Set<Map.Entry<Integer, String>> entrySet = map.entrySet();
            for(Map.Entry<Integer, String> i : entrySet){
                System.out.println("key:" + i.getKey() + "----value:"+i.getValue());
            }

     ——————————————————————————————————————————————————————————————————————

    接下来将上面的代码加一些改动,定义一个长度为20000000的集合,用上方四种方法遍历输出并记录他们所消耗的时间,比较输出的效率。

     

     1 public static void main(String[] args) {
     2         list();
     3     }
     4     
     5     public static void list() {
     6         List<String> list = new ArrayList<String>();
     7         //定义一个集合的长度
     8         int num = 20000000;
     9         long timeStart,timeEnd;
    10         for (int i = 0; i < num; i++) {
    11             list.add("abd"+i);
    12         }
    13         
    14         //测试foreach循环所用的时间
    15         timeStart = System.currentTimeMillis();
    16         for(String s : list) {
    17             
    18         }
    19         timeEnd = System.currentTimeMillis();
    20         System.out.println("foreach循环时间为:" + (timeEnd-timeStart) + "ms");
    21         
    22         //测试Iterator循环所用的时间
    23         timeStart = System.currentTimeMillis();
    24         Iterator<String> it = list.iterator();
    25         while(it.hasNext()) {
    26             it.next();
    27         }
    28         timeEnd = System.currentTimeMillis();
    29         System.out.println("Iterator循环时间为:" + (timeEnd-timeStart) + "ms");
    30         
    31         //测试Iterator循环所用的时间
    32         timeStart = System.currentTimeMillis();
    33         ListIterator<String> lit = list.listIterator();
    34         while(lit.hasNext()) {
    35             lit.next();
    36         }
    37         timeEnd = System.currentTimeMillis();
    38         System.out.println("ListIterator循环时间为:" + (timeEnd-timeStart) + "ms");
    39         
    40         //测试for循环所用的时间
    41         timeStart = System.currentTimeMillis();
    42         for(int i = 0; i<list.size(); i++) {
    43             list.get(i);
    44         }
    45         timeEnd = System.currentTimeMillis();
    46         System.out.println(" for循环时间为:" + (timeEnd-timeStart) + "ms");
    47     }

      输出结果为:

    foreach循环时间为:143ms
    
    Iterator循环时间为:12ms
    
    ListIterator循环时间为:13ms
    
    for循环时间为:18ms

     

     然后将四种循环方式单独输出,输出结果为:

    foreach循环时间为:103ms
    Iterator循环时间为:9ms
    ListIterator循环时间为:10ms
    for循环时间为:17ms

     可以看出Iterator和ListIterator相差不多,for循环又稍慢,foreach最慢。(如测试代码有不严谨之处,还请指出,共同学习。其他朋友测试可将集合长度调低测试。)

    转载于:https://www.cnblogs.com/yjboke/p/8821158.html

    展开全文
  • list循环输出

    千次阅读 2017-05-02 23:26:29
    //循环输出集合中的每一个对象 List objectList = new ArrayList(); for (int i = 0; i < objectList.size();...//将集合list转换为迭代器Iterator接口,并且循环输出 List list = new ArrayList(); l
  • 一、List集合循环输出 List objList = new ArrayList(); 1) for (int i=0; i list = new ArrayList(); list.add("cheng"); list.add("zeng"); list.add("zhang"); Iterator it = list.iterator(); while (it....
  • 泛型集合 List&lt;Order&gt; orderList= new OrderBizImpl().findAllOrder(status,pageIndex, pageSize); 方法一:普遍for循环迭代 for(int i=0;i&lt;orderList.size();i++){ System.out.println...
  • 专题总结:常见集合的循环输出方式 ...一、List集合循环输出 List objList = new ArrayList();  1) for (int i=0; i  {  // 循环输出集合中的每个对象  Object object = objList.get(i);
  • 常见集合的循环输出方式 一、List集合循环输出 List<Object> objList = new ArrayList<Object>(); 1) for (int i=0; i<objList.size(); i++) { // 循环输出集合中的每个对象 ...
  • ​​​​​​​使用for循环输出 使用for循环则可定以来与索引输出对象 public static void main(String[] args) { //创建ArrayList集合的对象 List&lt;Person&gt; persons=new ArrayList&...
  • 哈哈哈我真是个菜鸡,这个问题花了两个小时。
  • ArrayList与LinkedList的普通for循环遍历对于大部分Java程序员朋友们来说,可能平时使用得最多的List就是ArrayList,对于ArrayList的遍历,一般用如下写法:public static voidmain(String[] args){List arrayList =...
  • import java.util.ArrayList;...【编码】定义一个List集合并实例化对应的实现类对象。 循环输入任意个整数,输入0结束输入循环,对集合中的数据进行从大到小的排序后输出。 * */ public class ...
  • [img=https://img-bbs.csdn.net/upload/201410/29/1414549686_212871.jpg][/img] 所有实体类及View没有出现 static , final 关键字,属性用protected修饰。 为什么都为一样的?
  • 如果把map放在for循环外面 ...第二种中我们将map放进了循环里面,这样在每次循环的时候都会重新再实例化一个map对象,使map对象在堆内存中指向的地址不同,所以输出的数据也就是不一样的。    ...
  • list集合的各种输出方法

    千次阅读 2017-05-11 15:37:55
    list 集合的遍历方法 : foreach, for循环, Iterator迭代遍历
  • 前端代码: ${entry.value} 后端代码: List
  • map集合中有多个对象多个list,我想在页面循环输出这个map怎么解决? 求大神知道,思路也可以啊,我现在一点思路都没有~
  • 文章目录增强For循环ArrayList的嵌套使用举例Vector集合LinkedList集合List三个子实现类的特点:一个小练习:Set集合HashSet的add方法的底层源码 增强For循环 JDK5之后提供了特性: <引用类型>泛型,静态导入,...
  • 如果是for循环 for(int i=0;i<arr.length;i++) { System.out.print(arr[i]); if(i!=arr.length-1) System.out.print(" "); } 如果使用iterator迭代器 Iterator<Integer> it = sortset....
  • get()(List接口特有的),都不是标准的集合输出。 2.有四种方式,Iterator、ListIterator、foreach、Enumeration(只适用于Vector子类)。 Iterator(迭代输出) 1.jdk1.5之前Collection就有此方法,JDK1.5之后...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 493
精华内容 197
关键字:

循环输出list集合