遍历多个数组列表并获取元素

时间:2019-04-01 16:21:36

标签: java arrays string loops arraylist

public static void main(String[] args)
{
        loadDependencies ld = new loadDependencies();
        List<String> ls = ld.loadDependenciesFromPom();  
        getAvailableHigherVersions ah = new getAvailableHigherVersions();

        List<List<String>> vl = ah.versionListOnly();
        String previousVersion=null;

        for ( int a=0; a<vl.size();a++) {
            List<String> tmp = vl.get(a);
            for(int i=0; i<ls.size();i++){
                String firstE = ls.get(i);
                for(int j=0;j<tmp.size();j++) {
                    if (i==0  && j==0){
                        //xu.versionUpdate(previousVersion, tmp.get(j));
                        //String previousVersiontt = ls.get(i);
                        System.out.println(firstE + "----" + tmp.get(j));
                    }
                        /*xu.versionUpdate(previousVersion, tmp.get(j));
                        previousVersion=tmp.get(j);*/
                        //System.out.println(previousVersion+"-"+tmp.get(j));
                      //  previousVersion = tmp.get(j);

                }
            }
        }
}

“ ls”是一个字符串列表。它包含这样的

  

[1,4,5,7]

“ vl”是字符串列表的列表。它包含这样的

  

[[1.5,1.6,1.7],[4.1,4.2,4.3],[5.1,5.2],[7.1,7.4]]

我需要做的是首先获取ls list的第一个元素

  

1

然后我需要获取vl列表中的第一个元素

  

[1.5,1.6,1.7]

则输出应为

  

[1,1.5]

那么下一个输出将是

  

[1.5,1.6]

同样遍历数组。 接下来使用ls的第二个元素

  

4

然后它应该像4,4.1然后4.1,4.2一样,直到ls为空。 我尝试了上面的代码,但有时会多次迭代。有任何解决此问题的提示吗?

3 个答案:

答案 0 :(得分:1)

所以,如果我理解得很好,您会想要这样的东西:

$x = array(1,2,3,4);
$x = (object) $x;

echo $x->{1};

答案 1 :(得分:1)

for(int i=0;i<ls.size();i++){
   List<String> tmp = vl.get(i);
   System.out.println(ls.get(i)+" "+temp.get(0));
   for(int j=1;j<tem.size()-1;j++){
      System.out.println(temp.get(j)+" "+temp.get(j+1));
   }       
}

答案 2 :(得分:0)

      var margin = {
        top: 20,
        right: 80,
        bottom: 30,
        left: 50
      },
      width = 960 - margin.left - margin.right,
      height = 500 - margin.top - margin.bottom;

    var x = d3.scaleTime().domain([new Date(2000, 0, 0), new Date(2017, 0, 0)]).range([0, width]);
    var y = d3.scaleLinear().domain([0,1]).range([height, 0]);

    var svg = d3.select(this.htmlElement).append("svg")
      .attr("width", width + margin.left + margin.right)
      .attr("height", height + margin.top + margin.bottom)
      .append("g")
      .attr("transform", "translate(" + margin.left + "," + margin.top + ")");


    svg.append("g")
      .attr("class", "x axis")
      .attr("transform", "translate(0," + height + ")")
      .call(d3.axisBottom(x).tickFormat(d3.timeFormat("%Y")).ticks(d3.timeYear, 1));

    // Add the Y Axis 
    svg.append("g")
      .call(d3.axisLeft(y))
      .append("text")
      .attr("transform", "rotate(-90)")
      .attr("y", 6)
      .attr("dy", ".71em")
      .style("text-anchor", "end");

    // define the line
    var line = d3.line()
      .x(function(d) { 
        return x(new Date(d.name, 0)); 
      })
      .y(function(d) {
        return y(d.value);
      });

    data.forEach(function(d) {
      svg.append("path")
        .attr("class", "line")
        .attr('d', line(d.series))
        .attr('stroke', 'blue')
        .attr('stroke-width', 2)
        .attr('fill', 'none');
    });