Java:创建一个结构数组并迭代它

时间:2014-05-16 13:09:05

标签: java

我有这段丑陋的代码:

for (int i = 1; i <= 1100; i++) {

        if (i<=SpbAndRegionPerSession){
            submit(new SiteRequest(SpbAndRegion + i, SiteRequestType.SEARCH_PAGE));
        }
        if (i<=KrasnodarRegionPerSession){
            //stuff
        }
        if (i<=NovosibRegionPerSession){
           //stuff
        }
        if (i<=RostovRegionPerSession){
            //stuff
        }
        if (i<=TatarstanPerSession){
            //stuff
        }
        if (i<=MoscowAndRegionPerSession){
            //stuff
        }

    }

我想缩短它。在JS中我会这样做:

var regions = [{perSession:500,link:'somehref.com/page='}];

for (var i=0;i<regions.length;i++){
  for (var n;n<regeions[i].perSession;n++){
   submit(SiteRequest(regeions[i].link + i, SEARCH_PAGE));
  }
}

我怎么能用Java做到这一点?我是新手。

3 个答案:

答案 0 :(得分:2)

private static final String SEARCH_PAGE = "some search page link here";

public class Region {
    private final int perSession;
    private final String link;

    public Region(int perSession, String link) {
        this.perSession = perSession;
        this.link = link;
    }

    // getters here
}

List<Region> regions = new ArrayList<Region>();
regions.add(new Region(500, "somehref.com/page="));

for(Region region : regions) {
    for(int i = 0; i < region.getPerSession(); i++) {
        submit(new SiteRequest(region.getLink() + i, SEARCH_PAGE));
    }
}

答案 1 :(得分:-1)

试试这段代码,

int regions[] = {SpbAndRegionPerSession, KrasnodarRegionPerSession, 
                  NovosibRegionPerSession, RostovRegionPerSession, 
                  TatarstanPerSession, MoscowAndRegionPerSession};

for (int i = 1; i <= 1100; i++) {
 for (int j = 0; j < regions.length; j++) {
      if(i<=j)
      submit(new SiteRequest(regions[j] + i, SiteRequestType.SEARCH_PAGE));
 }
}

答案 2 :(得分:-1)

你可以这样使用更专业;

public class Dvo
{
    public Dvo(int perSession, String link) {
        super();
        this.setLink(link);
        this.setPerSession(perSession);
    }
    public int getPerSession() {
        return perSession;
    }
    public void setPerSession(int perSession) {
        this.perSession = perSession;
    }
    public String getLink() {
        return link;
    }
    public void setLink(String link) {
        this.link = link;
    }
    private String link = null;
    private int perSession;

}


public static void main(String[] args) {

    Object[] veri = new Object[]{new Dvo(500,"somehref.com/page="),new Dvo(300,"blabla.com/page=")};  

    for (int i=0;i<veri.length;i++){
        Dvo a = (Dvo) veri[i];
        for (int j = 0; j < a.getPerSession(); j++) {
            submit(SiteRequest(a.getLink() + i, SEARCH_PAGE));
        }
    }

}
相关问题