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。某些语句无效。您在比较中有一个不带括号的赋值,并且您将字符串与=
进行比较。为什么不显示正确编译的代码?此外,您应该显示所使用内容的定义。