Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从csv文件设置父id_Java - Fatal编程技术网

Java 从csv文件设置父id

Java 从csv文件设置父id,java,Java,我想以此格式设置csv文件中的父id(例如国家、城市和邮政编码) 如果别人有这种问题,我只是想帮助他们。随机id实际上是从数据库返回的id。 如果我有错误,请改正 public class Record { private String value; private int level; private int parent; private int id; public Record(String value, int level) { super(); this.value

我想以此格式设置csv文件中的父id(例如国家、城市和邮政编码)


如果别人有这种问题,我只是想帮助他们。随机id实际上是从数据库返回的id。 如果我有错误,请改正

public class Record {
private String value;
private int level;
private int parent;
private int id;

public Record(String value, int level) {
    super();
    this.value = value;
    this.level = level;
}

Random rand = new Random();
    ArrayList<Record> records = new ArrayList<Record>();
    records.add(new Record("ελλαδα", 0));
    records.add(new Record("αθηνα", 1));
    records.add(new Record("13561", 2));
    records.add(new Record("1044", 2));
    records.add(new Record("τριπολη", 1));
    records.add(new Record("801456", 2));
    records.add(new Record("501457", 2));
    records.add(new Record("κυπρος", 0));
    records.add(new Record("λαρνακα", 1));
    records.add(new Record("987654", 2));
    records.add(new Record("654321", 2));   

    for(int i =0; i<records.size();i++) {
        if(i==0){
            records.get(i).setId(rand.nextInt(50000));
            records.get(i).setParent(-1);
        }
        if(i > 0){
            int prev_depth = records.get(i-1).getLevel();
            if(records.get(i).getLevel()>prev_depth){
                records.get(i).setParent(records.get(i-1).getId());
                records.get(i).setId(rand.nextInt(50000));
            }else if(records.get(i).getLevel()==prev_depth){
                records.get(i).setId(rand.nextInt(50000));
                records.get(i).setParent(records.get(i-1).getParent());
            }else{
                int ridx = i - 1;
                while ((prev_depth != records.get(i).getLevel()) && (ridx >= 0)){
                    prev_depth = records.get( ridx).getLevel();
                    ridx -= 1;
                }       
                records.get(i).setId(rand.nextInt(50000));
                if(ridx==-1){
                    records.get(i).setParent(-1);
                }else{
                    records.get(i).setParent(records.get(ridx).getId());
                }

            }
        }
    }
    records.stream().forEach(System.out::println);
公共类记录{
私有字符串值;
私有整数级;
私人int父母;
私有int-id;
公共记录(字符串值,整数级){
超级();
这个值=值;
这个水平=水平;
}
Random rand=新的Random();
ArrayList记录=新的ArrayList();
添加(新记录(“ελλαδα”,0));
添加(新记录(“αθηνα”,1));
增加(新记录(“13561”,2));
增加(新记录(“1044”,2));
添加(新记录(“τριπολη”,1));
增加(新记录(“801456”,2));
添加(新记录(“501457”,2));
添加(新记录(“κ-π-ρ”,0));
添加(新记录(“λαρνακα”,1));
增加(新记录(“987654”,2));
增加(新记录(“654321”,2));
对于(int i=0;i 0){
int prev_depth=records.get(i-1.getLevel();
if(records.get(i).getLevel()>prev_depth){
records.get(i).setParent(records.get(i-1).getId());
记录.get(i).setId(rand.nextInt(50000));
}else if(records.get(i).getLevel()==prev_depth){
记录.get(i).setId(rand.nextInt(50000));
records.get(i).setParent(records.get(i-1).getParent());
}否则{
int-ridx=i-1;
while((prev_depth!=records.get(i.getLevel())&&(ridx>=0)){
prev_depth=records.get(ridx.getLevel();
ridx-=1;
}       
记录.get(i).setId(rand.nextInt(50000));
如果(ridx==-1){
记录.get(i).setParent(-1);
}否则{
records.get(i).setParent(records.get(ridx).getId());
}
}
}
}
records.stream().forEach(System.out::println);

请向我们展示您已经编写的代码。另外,你的CSV文件不包含任何逗号,这听起来很奇怪。你的答案实际上并没有回答你的问题。您的问题是关于如何读取csv文件,您的答案只是使用随机数据。
public class Record {
private String value;
private int level;
private int parent;
private int id;

public Record(String value, int level) {
    super();
    this.value = value;
    this.level = level;
}

Random rand = new Random();
    ArrayList<Record> records = new ArrayList<Record>();
    records.add(new Record("ελλαδα", 0));
    records.add(new Record("αθηνα", 1));
    records.add(new Record("13561", 2));
    records.add(new Record("1044", 2));
    records.add(new Record("τριπολη", 1));
    records.add(new Record("801456", 2));
    records.add(new Record("501457", 2));
    records.add(new Record("κυπρος", 0));
    records.add(new Record("λαρνακα", 1));
    records.add(new Record("987654", 2));
    records.add(new Record("654321", 2));   

    for(int i =0; i<records.size();i++) {
        if(i==0){
            records.get(i).setId(rand.nextInt(50000));
            records.get(i).setParent(-1);
        }
        if(i > 0){
            int prev_depth = records.get(i-1).getLevel();
            if(records.get(i).getLevel()>prev_depth){
                records.get(i).setParent(records.get(i-1).getId());
                records.get(i).setId(rand.nextInt(50000));
            }else if(records.get(i).getLevel()==prev_depth){
                records.get(i).setId(rand.nextInt(50000));
                records.get(i).setParent(records.get(i-1).getParent());
            }else{
                int ridx = i - 1;
                while ((prev_depth != records.get(i).getLevel()) && (ridx >= 0)){
                    prev_depth = records.get( ridx).getLevel();
                    ridx -= 1;
                }       
                records.get(i).setId(rand.nextInt(50000));
                if(ridx==-1){
                    records.get(i).setParent(-1);
                }else{
                    records.get(i).setParent(records.get(ridx).getId());
                }

            }
        }
    }
    records.stream().forEach(System.out::println);