两层数组广度优先数据遍历

  当需要轮训取多个分类数据的时候,每个分类一个数组,每个分类取一个再取下一个。

遍历方式总结如下:

List<List<String>> list = new ArrayList<List<String>>();
 int jLeng = 0;
        for (int i = 0; i < skuList.size(); i++) {
            String skuInfo = skuList.get(i);
            List<String> skuInfoList = resolveSku(skuInfo);
            if (skuInfoList != null && skuInfoList.size() > jLeng) 
                jLeng = skuInfoList.size();
            if(skuInfoList!=null)
                list.add(skuInfoList);
        }
        List<String> result = new ArrayList<String>();
        for (int j = 0; j < jLeng; j++) {
            for (int i = 0; i < list.size(); i++) {
                List<String> skuInfoList = list.get(i);
                if (skuInfoList == null || j >= skuInfoList.size())
                    continue;
                String sku = skuInfoList.get(j);
                if(!result.contains(sku))
                    result.add(sku);
                if (result.size() == length) {
                    return result;
                }
            }
        }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区