我有三个List<String>
变量:classFiles
、usernames
和fileDirectories
。我有一个String
(字符串列表,但我会将列表中的每个字符串与下面的循环进行比较),它由每个列表中的一个项目组成。我想遍历所有三个列表并检查所有三个列表中的一个值是否在字符串中
解决此问题的最佳方法是什么?
for(String classFile:classFiles) {
//if contains classfile statement
for(String username:usernames) {
//if contains username statement
for(String fileDirectory:fileDirectories) {
//if contains filedirectory statement
}
}
}
或者
for(String classFile:classFiles) {
for(String username:usernames) {
for(String fileDirectory:fileDirectories) {
//if statement
}
}
}
或者
for(String classFile:classFiles) {
//make list of files that contain classFile
}
for(String username:usernames) {
//remove items from list that do not contain username
}
for(String fileDirectory:fileDirectories){
//remove items from list that do not contain fileDirectory
}
还是有更好的方法来做到这一点?
编辑:示例
classFiles - a1, a2, a3
usernames - noc1, noc2, noc3
fileDirectories - C:/projects/a1/noc1/example.java, C:/projects/a1/ad3/example.java
和要检查的字符串
String - C:/bin/a1/noc1/example.class
我想要做的是如果fileDirectory和String都包含一个classFile和用户名,然后将它添加到一个列表中
所以在这个例子C:/bin/a1/noc1/example.class
中将被添加到列表中,但C:/bin/a4/fd1/example.class
不会或C:/bin/a3/noc3/example.class
不会被添加