精华内容
下载资源
问答
  • 三种常用的对应list集合的双重遍历

    千次阅读 2014-02-14 19:44:51
    三种常用的对应list集合的双重遍历,直接上代码 package com.collections.lists; import java.util.ArrayList; import java.util.Iterator; import com.collections.lists.vo.Product; import ...

    三种常用的对应list集合的双重遍历,直接上代码

    package com.collections.lists;


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

    import com.collections.lists.vo.Product;
    import com.collections.lists.vo.ProductClassify;

    public class ListTestDemo implements Runnable {

        public static void main(String[] args) {

            /***
             * 以下采用的是数据库的数据模拟
             */

            Product p = new Product();
            p.setId(1);
            p.setName("耐克");
            p.setPcId(1);
            p.setPrice(10);
            p.setNum(200);
            // 第一种产品
            ProductClassify pc = new ProductClassify();
            pc.setId(1);
            pc.setPcId(p.getPcId());
            pc.setpName("鞋子");

            Product p1 = new Product();
            p1.setId(2);
            p1.setName("馒头");
            p1.setPcId(2);
            p1.setPrice(20);
            p1.setNum(300);
            // 第二种产品
            ProductClassify pc1 = new ProductClassify();
            pc1.setId(2);
            pc1.setPcId(p.getPcId());
            pc1.setpName("食品");

            Product p2 = new Product();
            p2.setId(2);
            p2.setName("水密码");
            p2.setPcId(2);
            p2.setPrice(20);
            p2.setNum(300);
            // 第三种产品
            ProductClassify pc2 = new ProductClassify();
            pc2.setId(3);
            pc2.setPcId(p.getPcId());
            pc2.setpName("化妆品");

            Product p3 = new Product();
            p3.setId(4);
            p3.setName("杜冷丁");
            p3.setPcId(3);
            p3.setPrice(20);
            p3.setNum(300);
            // 第四种产品
            ProductClassify pc3 = new ProductClassify();
            pc3.setId(4);
            pc3.setPcId(p.getPcId());
            pc3.setpName("药品");

            // 向集合中保存
            ArrayList<Product> plist = new ArrayList<Product>();
            plist.add(p);
            plist.add(p1);
            plist.add(p2);
            plist.add(p3);
            ArrayList<ArrayList<Product>> pclist = new ArrayList<ArrayList<Product>>();
            pclist.add(plist);
            // pclist.add(pc);
            // pclist.add(pc1);
            // pclist.add(pc2);
            // pclist.add(pc3);

            // 遍历读出
            for (ArrayList<Product> arrayList : pclist) {

                for (Product product : arrayList) {
                    // System.out.println("第一种打印方式    " + product.getName());
                }
            }
            Iterator<ArrayList<Product>> pclists = pclist.iterator();

            while (pclists.hasNext()) {
                ArrayList<com.collections.lists.vo.Product> arrayList = (ArrayList<com.collections.lists.vo.Product>) pclists
                        .next();
                Iterator<Product> pli = arrayList.iterator();

                while (pli.hasNext()) {
                    Product product = (Product) pli.next();
                    // System.out.println("第二种打印方式      " + product.getName());
                }
            }

            for (int i = 0; i < pclist.size(); i++) {

                plist = pclist.get(i);

                for (int j = 0; j < plist.size(); j++) {
                     System.out
                     .println("第三中打印方式          " + plist.get(j).getName());
                }
            }
            // System.out.println("单重集合" + plist.size());
            // System.out.println("双重集合" + pclist.size());
            Thread t1 = new Thread();
            t1.start();

        }

        @Override
        public void run() {
            // TODO Auto-generated method stub

            System.out.println("haha");

        }

    }

    package com.collections.lists.vo;

    public class Product {

        @SuppressWarnings("product")
        private int id;
        
        private String name;
        
        private int pcId;//商品类型编号
        
        private int price;
        
        private int num;
        
        public Product() {
            // TODO Auto-generated constructor stub
        }

        public Product(int id, String name, int pcId, int price, int num) {
            super();
            this.id = id;
            this.name = name;
            this.pcId = pcId;
            this.price = price;
            this.num = num;
        }


        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public int getPcId() {
            return pcId;
        }

        public void setPcId(int pcId) {
            this.pcId = pcId;
        }

        public int getPrice() {
            return price;
        }

        public void setPrice(int price) {
            this.price = price;
        }

        public int getNum() {
            return num;
        }

        public void setNum(int num) {
            this.num = num;
        }
        
        
        
    }
    package com.collections.lists.vo;

    public class ProductClassify {

        @SuppressWarnings("productclassify")
        private int id;//编号
        
        private int pcId;//商品类型编号
        
        private String pName;//商品分类名字
        
        public ProductClassify() {
            // TODO Auto-generated constructor stub
        }
        
        public ProductClassify(int id, int pcId, String pName) {
            super();
            this.id = id;
            this.pcId = pcId;
            this.pName = pName;
        }

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public int getPcId() {
            return pcId;
        }

        public void setPcId(int pcId) {
            this.pcId = pcId;
        }

        public String getpName() {
            return pName;
        }

        public void setpName(String pName) {
            this.pName = pName;
        }

        @Override
        public String toString() {
            return "ProductClassify [id=" + id + ", pcId=" + pcId + ", pName="
                    + pName + "]";
        }
        
    }




    展开全文
  • 用标签遍历双层list

    2015-07-20 15:32:57
    outList = new ...inList= new ArrayList(); inList.add(new Element("1","a")); inList.add(new Element("2","b")); outList.add(inList);   inList= new ArrayList(); inList.add(new Element

    outList =  new ArrayList();
     
    inList=  new ArrayList();
    inList.add( new Element("1","a"));
    inList.add( new Element("2","b"));
    outList.add(inList);
     
    inList=  new ArrayList();
    inList.add( new Element("3","c"));
    inList.add( new Element("4","d"));
    outList.add(inList);

    遍历:
    <ww:iterator value="outList">
        <ww:iterator value="top">
              <ww: property value="key"/>,<ww: property value="value"/>
        </ww:iterator>
    </ww:iterator>
    展开全文
  • mybatis 两层list遍历

    2018-06-11 16:31:00
    1.mybatis 写法 ...update id="batchUpdateWPD" parameterType="java.util.List"> <foreach collection="list" item="item" index="index" open="" close="" separator=";"> UPDATE t_wl_week...

     

    1.mybatis 写法

    <update id="batchUpdateWPD" parameterType="java.util.List">
    <foreach collection="list" item="item" index="index" open=""
    close="" separator=";">
    UPDATE t_wl_week_plan_detail
    <set>
    <if test="item.auditDetailId != null and item.auditDetailId!=''">
    SALES_DIRECTOR_DETAIL_ID= #{item.auditDetailId}
    </if>
    </set>
    WHERE PLAN_DETAIL_ID IN
    <foreach collection="item.planDetailIdList" item="planDetailId" index="index"
    open="(" close=")" separator=",">
    #{planDetailId}
    </foreach>


    </foreach>
    </update>

    2 java语句

    ntsmpWlWeekPlanDetailPlusMapper.batchUpdateWPD(wlSalesDirectorAuditDetailNewList);

    注:入参wlSalesDirectorAuditDetailNewList  类型为List<WlSalesDirectorAuditDetailNewResult> 

    3 入参示例 

    public class WlSalesDirectorAuditDetailNewResult {

    ......
    private String planDetailId;
    private List<String> planDetailIdList;
    }

     

    转载于:https://www.cnblogs.com/fenghuaxiao/p/9167717.html

    展开全文
  • 双层循环遍历 减少时间复杂度

    千次阅读 2020-11-18 13:27:34
    双层循环遍历 减少时间复杂度哈希表功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants...

    双层循环遍历 减少时间复杂度

    双层for循环,时间复杂度O(n2),空间复杂度O(1),往往会带来很大的时间开销,尤其是当数组长度比较大时,很容易造成程序卡顿。接下来的方法可以用空间复杂度换时间复杂度:

    哈希表

    哈希表为无序Map,插入、查找、删除的时间复杂度均为O(1)
    例如:

    给定一个整数数组 nums 和一个目标值 target,找出和为目标值的那 两个 整数,并返回他们的数组下标

    //传统:双层for循环遍历
    for(i=0;i<nums.length-1;i++){
            for(k=i+1;k<nums.length;k++){
                if((nums[i]+nums[k])==target) return [i,k];
            }
        }
    
    //HashMap
    let hashMap = {};
       for(i=0;i<nums.length;i++){
          if(hashMap.hasOwnProperty(target - nums[i])){  //如果map中有符合条件的 输出
    	return [hashMap[target - nums[i]],i];
       }
       else {
        hashMap[nums[i]]=i;
       }
       }
    throw new Error('Whoops!');    //循环完成,抛出异常
    
    算法运行时间内存消耗
    HashMap944ms52.2MB

    另,对于javascript来说,还有一种更省时间的方式:数组存储。

    let list = [];
    	for(i=0; i<nums.length; i++){
    		let index = target - nums[i];
    		if(list[index] != null){
    			return [list[index],i];
    		}else{
    			list[nums[i]] = i;
    		}
    	}
    
    算法运行时间内存消耗
    List148ms46.8MB
    展开全文
  • c:froeach 遍历两层list

    2016-04-28 10:28:20
    如题 list下bean类中有个children属性、children 是个list。 如何在c:foreach标签上遍历。主要是拿不到children的值![图片说明](https://img-ask.csdn.net/upload/201604/28/1461839276_329617.png)
  • List<SchoolBoy> list = schoolBoys.stream() .map(schoolBoy -> girls.stream() .filter(girl -> schoolBoy.getGirlId().equals(girl.getId())) .findFirst() .map(girl -> { schoolBoy....
  • Java--遍历嵌套list的三种方法

    千次阅读 2019-10-18 09:40:48
    //1.The first way Iterator<ArrayList<Student>> it = cla.iterator(); int count = 1; while(it.hasNext()) { Iterator<Student> itt = it.next().iterat...
  • 双层for循环遍历数据

    千次阅读 2016-03-14 16:51:28
    List<UdpServerVO> udpList = new ArrayList(); for (int i = 1; i ; i++) { str3 = strs[i].split(","); UdpServerVO udp = new UdpServerVO(); udp.setId(str3[0]); udp.setLicensePlatel(str3[1]...
  • list 嵌套复杂元素的遍历

    千次阅读 2018-10-28 22:01:07
    后面一想其实思路很简单啦,就是不管元素多么复杂,和常见的元素一样对待,先遍历list里面的每个元素。 接着你就可以只有对每个元素里面的具体值了。 #!/usr/bin/python # _*_ coding: UTF-8 _*_   t=[1,2,3,[3,4...
  • jsp中用C:foreach标签遍历list嵌套list

    千次阅读 2019-08-12 14:50:01
    一:先创建一个封装集合的实体类 package ... import java.util.List; /** * list实体类 */ public class ListProperties { private String key; private List<PageData> valueList; ...
  • 今天碰到一个很有意思的问题,就是需要用Struts 2的iterator标签来遍历一个含有双层List的嵌套。 首先我们从最基础的说起,用iterator标签遍历一个List。 如果Action中有一个这样的不为null的属性: [java] view ...
  • java中List对象集合的遍历方法 第一种: for(Iterator<A> it = list.iterator(); it.hasNext(); ) { .... } 这种方式在循环执行过程中会进行数据锁定, 性能稍差, 同时,如果你想在寻欢过程中去掉某个元素,只能...
  • jsp标签遍历之双重List

    2018-11-21 22:12:01
    jsp标签遍历之双重List 1.双重嵌套型 /***********jtsl c标签方式*********/ &lt;% List list = new ArrayList(); List list1 = new ArrayList(); List list2 = new ArrayList(); list1.add("1...
  • freemarker实现多层嵌套循环

    千次阅读 2019-11-03 11:10:06
    java代码: public class CategoryVO { private Integer id; private Integer pId; private String name;... private List<CategoryVO> children=new ArrayList<CategoryVO>(); // ...
  • queue队列: import ( "container/list" "sync" ) type Queue struct { ... l *list.List m sync.Mutex } func NewQueue() *Queue { return &Queue{l: list.New()} } fun...
  • List集合双层for循环的优化

    千次阅读 2019-05-21 16:19:32
    根据两个list集合中bean属性id过滤集合,并处理相应业务 1、请求用户信息:信息从用户用户模块获取。 获取到集合: List 集合比较大 (16万)全部用户信息 public class GradeInfo { private String userId; ...
  • Java中使用foreach遍历list的盲点,

    千次阅读 2018-03-29 11:35:16
    我们通常在项目中会用到ArrayList ,喜欢使用jdk1.5以后的foreach进行对list集合遍历,但是以下的操作会遇到小坑请看代码:public class TestListUtils { public static void main(String[] args) { ArrayList&...
  • 具体操作步骤如下: 1、创建Controller。...import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework
  • 如何利用struts标签遍历双层List

    千次阅读 2014-08-27 22:06:35
    我想struts标签大家应该都不陌生,用它来遍历一般的List
  • [[${ii.getCreattime()}]] REPLY [[${ii.getContainer()}]] [[${iii.getUsername()}]] [[${iii.getCreattime()}]] REPLY [[${iii.getContainer()}]] 上边的sysSingleList1是一个链表list,然后该链表中的对象的类的...
  • 当使用for循环遍历二维数组或者双层for循环遍历list集合时,时间复杂度时:n²。 例如:我们要寻找编号相同的学生 for(ListType:item1:list1) for(ListType:item2:list2) {...} 这种情况我们可以把其中的一个...
  • 如何用s:iterator遍历出上面的list ,似乎可以使用下面的方法: &lt;s:iterator value="#request.list" status="st"&gt; &lt;tr&gt; &lt;s:iterator value="#...
  • s:iterator双重嵌套和平行循环遍历List

    千次阅读 2018-01-02 15:00:26
    1.s:iterator简单的双重嵌套遍历 Action中的list为 private List<List<T>> list; 则Jsp中遍历为``` <s:iteratorvalue="list"> <s:iterator value="top" id="inner"> <s:...
  • c:forEache标签 List Map 遍历输出

    千次阅读 2017-09-14 20:51:19
    c:forEach标签遍历List,String>>
  • js数组两层遍历

    千次阅读 2020-01-10 15:43:55
    list: [{ num: 0, fdate: "2020-01-04", unlockType: "APP开门", unlockTypeId: "A", }, { num: 0, fdate: "2020-01-04", unlockType: "美数小程序开门", unlockTypeId: "B", }, { num: 0, fdate: ...
  • ,picker中range的值是一个数组,因为是双层数组,我们所需要的下拉框的值是一个数组,不需要便利,这时候我们如果通过items.productfactorvalues取值,再通过@change事件把我们下拉选择的索引传给e.target.value,...
  • 小程序 多层数组遍历

    千次阅读 2019-02-22 20:54:39
    -- 遍历上一层数组中的数组当前元素的变量名下的数组 遍历三维数组desc里的详细内容--> <block wx:for="{{item.desc}}" wx:for-item="list" wx:key="index"> <image src="{{list.img}}" class="list_img" /> ...
  • 今天碰到一个很有意思的问题,就是需要用Struts 2的iterator标签来遍历一个含有双层List的嵌套。首先我们从最基础的说起,用iterator标签遍历一个List。如果Action中有一个这样的不为null的属性:private List list; ...
  • 问下mapper.xml中 遍历list的问题 ``` public List<Seek> seekByDate ( @Param("date1")String date1, @Param("date2")String date2, @Param("pin2")String[] pin2); ``` 其中的pin2 如何在mapper.xml中...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,064
精华内容 1,225
关键字:

双层list遍历