如何创建在嵌套列表中共享公共字段的对象列表(Java)

时间:2018-10-14 01:54:35

标签: java algorithm nested

基本上我目前遇到以下问题:

import datetime
import os
import time
x = datetime.datetime.now()

try:
    s = open("Months.txt","r")
    ss = s.read()
    s.close()
except IOError:
    s = open("Months.txt","w")
    s.write("Hello:")
    s.close()
try:
    Mo = open("Deposit and interest.txt","r")
    Mon = Mo.read()
    Mo.close()
except IOError:
    Deposit = input("How much do you wish to deposit")
    M = open("Deposit and interest.txt","w")
    M.write(Deposit)
    M.close()
s1 = open("Months.txt","r")
s2 = s1.read()
s1.close()

Mone = open("Deposit and interest.txt","r")
Money = Mone.read()
Mone.close()

if s2 != x.strftime("%B"):
    Rate = input("How much interest do you want?")
    Deposit1 = int(Money)/int(100)
    Deposit2 = Deposit1*int(Rate)
    Deposit = int(Money) + int(Deposit2)
    print("Calculation of interest")
    time.sleep(2)
    print("The final total is: "+str(Deposit))
    os.remove("Months.txt")
    file_one=open("Months.txt","w")
    file_one.write(x.strftime("%B"))
    file_one.close()
    os.remove("Deposit and interest.txt")
    file_one=open("Deposit and interest.txt","w")
    file_one.write(str(Deposit))
    file_one.close()
    print("Used up this month, try again next month")
else:
    print("Sorry, you have used this months intrest limit, try again next month")

我得到了一个类似上面的列表,它基本上是一个日志列表,每个日志都是带有某些字段的Person对象的列表。我想做的是在logLists中的每个列表中创建一个对象列表,这些列表对于单个字段共享相同的值。

例如,如果每个对象都是一个人(如上所述),并且一个人类定义为:

List<List<Person>> logLists;

然后,如何找到所提供日志(以上嵌套列表中的每个列表)的 ALL 所共有的社会保险号的人员对象?

public class Person {

    private String name;
    private String socialSecurityNumber;

    public Person(String name, String socialSecurityNumber) {
        this.name = name;
        this.socialSecurityNumber = socialSecurityNumber;
    }
    //implementation of methods...
}

换一种说法,我想找到每个日志中的人;问题是我只能按社会保险号查询,因为日志中的某些人可能使用不同的姓名,但仍具有相同的SSN。

我只想了解如何遍历此嵌套列表,并为日志列表的 ALL 共同的人员创建一个单独的列表(根据唯一标识符:社会保险号)。

伪代码或仅提供有关如何解决此问题的说明会很好。

我尝试过

String socialSecurityNumber; 

没什么用,因为虽然它可以自动执行操作,但是当我只想查看单个字段是否等效时,它会检查对象是否等效。

0 个答案:

没有答案