Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.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
Algorithm 将颤振中的对象列表传递给另一个对象,并将其中一个数据外部化_Algorithm_Flutter_Dart - Fatal编程技术网

Algorithm 将颤振中的对象列表传递给另一个对象,并将其中一个数据外部化

Algorithm 将颤振中的对象列表传递给另一个对象,并将其中一个数据外部化,algorithm,flutter,dart,Algorithm,Flutter,Dart,我有一个包含各种数据的Person对象列表,我需要将其传递给另一个Person数据列表,如果重复日期,我会将其余数据添加到列表中,如果不重复,我会将其添加到列表的另一个位置 代码 void main(){ List<Person> data = [ Person(date: 12, id: 1, name: 'B'), Person(date: 13, id: 2, name: 'P'), Person(date: 14, id: 3, name:

我有一个包含各种数据的Person对象列表,我需要将其传递给另一个Person数据列表,如果重复日期,我会将其余数据添加到列表中,如果不重复,我会将其添加到列表的另一个位置

代码


void main(){
  
  List<Person> data = [
    Person(date: 12, id: 1, name: 'B'),
    Person(date: 13, id: 2, name: 'P'),
    Person(date: 14, id: 3, name: 'C'),
    Person(date: 12, id: 4, name: 'E'),
    Person(date: 16, id: 5, name: 'L'),
    Person(date: 15, id: 6, name: 'D'),
    Person(date: 13, id: 7, name: 'S'),
  ];
  
List<Person> dataNew = [];
List<PersonData> dataPeopleNew = [];
  
  
 for(int i = 0; i < data.length; i ++){
    for(int j = i+1; j < data.length; j ++){
      
      if(data[i].date == data[j].date){
      
       dataNew.add(data[i]);
       dataNew.add(data[j]);
       
       dataPeopleNew.add(PersonData(
       date: dataNew[i].date,
       people: dataNew));

     }else if(data[i].date != data[j].date){
       
        dataNew.clear;
       dataNew.add(data[i]);
       dataNew.add(data[j]);
        
       dataPeopleNew.add(PersonData(
       date: dataNew[i].date,
       people: dataNew));
        
      }

    }
 }  
}

class PersonData{
  final int date;
  final List<Person> people;
  
  PersonData({this.date, this.people});
}

class Person{
  final String name;
  final int date;
  final int id;
  
  Person({this.name, this.date, this.id});
}


如果有人能帮忙,我将不胜感激

  dataPeopleNew: [
PersonData(date: 12, 
people: [
  Person(id: 1, name: 'B'),
  Person(id: 4, name: 'E'),
]),

PersonData(date: 13, 
people: [
  Person(id: 2, name: 'P'),
  Person(id: 7, name: 'S'),
]),

PersonData(date: 14, 
people: [
  Person(id: 3, name: 'C'),
]),
    
PersonData(date: 16, 
people: [
  Person(id: 5, name: 'L'),
]),
    
PersonData(date: 15, 
people: [
  Person(id: 6, name: 'D'),
]),   
];