Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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 如何将数组与新创建的列表进行比较_Java_Arrays_List_If Statement - Fatal编程技术网

Java 如何将数组与新创建的列表进行比较

Java 如何将数组与新创建的列表进行比较,java,arrays,list,if-statement,Java,Arrays,List,If Statement,我有一个包含如下信息的字符串数组: name street streetnumber City house flat jetsons jetstreet 12 london yes no jetsons jetstreet 10 washingston n y jetsons

我有一个包含如下信息的字符串数组:

name          street         streetnumber         City      house     flat
jetsons     jetstreet        12                  london       yes      no
jetsons     jetstreet        10                  washingston  n        y
jetsons     jetstreet        10                  washingston  n        y
jetsons     jetstreet        10                  washingston  yes      no 
ALF         alfStreet         3                  Shanghai      y        y
……等等

现在的练习是创建一个新的列表,其中包含要分析的唯一数据

livingDataArray 分析学家

while(livingDataArray=reader.readLine() != null){
        street = livingDataArray[1];
        streetNumber = livinDataArray[2];
        city = livingDataArray[3;]

    if(analyzedDataList.isEmpty()) {
        createNewEntry in analyzedDataList(); // that line is fine. ;)
    } else {
        int analyzedDataSize = analyzedData.size();
        for (int i = 0; i <= analyzedDataSize; i++){

                  if(analyzedData.get(i)[1] == street && 
                    analyzedData.get(i)[2] == streetNumber &&
                    analyzedData.get(i)[3] == city ) {

                   categorize(); // this line is fine also
                   addToAnalyzedData();
                  break;
                  } else if (!(analyzedData.get(i)[1] == street && 
                    analyzedData.get(i)[2] == streetNumber &&
                    analyzedData.get(i)[3] == city) && (i+1 ==
                    livingData.size())) {

                             categorize();
                             addToAnalyzedData();
                             break;
                    }


             }
        }
}
while(livingDataArray=reader.readLine()!=null){
street=livingDataArray[1];
streetNumber=livinDataArray[2];
city=livingDataArray[3;]
if(analyzedDataList.isEmpty()){
analyzedDataList()中的createNewEntry;//该行没有问题。;)
}否则{
int analyzedDataSize=analyzedData.size();

对于(int i=0;i
字符串
比较通过
等于
,而不是
=
()。下一点:这看起来像是在java中SQL中的一个普通的
SELECT DISTINCT*FROM someWhere
-语句的实现。那么为什么不简单地将代码外包到数据库中呢?如果不可能的话,
Set
很可能是最有效的集合。尽管我建议使用SQL来提高性能并节省资源在本地PC上安装。最后一个注意事项:在相同数据上修改循环中的数据,如下所示:

int analyzedDataSize = analyzedData.size();
for (int i = 0; i <= analyzedDataSize; i++){
    ...
        addToAnalyzedData();
int analyzedDataSize=analyzedData.size();

对于(int i=0;i),我将使用
。这不是真正的Java。某些语句无效。您在比较中有一个不带括号的赋值,并且您将字符串与
=
进行比较。为什么不显示正确编译的代码?此外,您应该显示所使用内容的定义。