java list 先找A,没有则找B
时间: 2023-08-22 22:06:42 浏览: 48
可以使用Java中的List集合的indexOf()方法和contains()方法,以及条件运算符来实现先查找A,如果不存在再查找B的操作。具体代码如下:
```
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
int indexA = list.indexOf("A"); // 查找A在List中的位置
int indexB = list.indexOf("B"); // 查找B在List中的位置
if (indexA != -1) { // 如果List中存在A
System.out.println("找到了A,位置是:" + indexA);
} else if (indexB != -1) { // 如果List中不存在A但存在B
System.out.println("没有找到A,找到了B,位置是:" + indexB);
} else { // 如果List中既不存在A也不存在B
System.out.println("List中不存在A和B");
}
```
这段代码首先使用indexOf()方法查找A在List中的位置,如果存在则输出位置信息;如果不存在,则使用indexOf()方法查找B在List中的位置,如果存在则输出位置信息;如果既不存在A也不存在B,则输出信息提示List中不存在A和B。
相关问题
java steam filter 先匹配A,没有则匹配B
可以使用Java 8中的Stream流和filter操作符来实现先匹配A,如果没有匹配成功,则匹配B的操作。具体代码如下:
```
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
Optional<String> result = list.stream() // 将List转为Stream
.filter(s -> s.equals("A")) // 匹配A
.findFirst(); // 返回第一个匹配成功的元素,如果没有则返回一个空的Optional对象
if (!result.isPresent()) { // 如果没有匹配成功
result = list.stream() // 再次将List转为Stream
.filter(s -> s.equals("B")) // 匹配B
.findFirst(); // 返回第一个匹配成功的元素,如果没有则返回一个空的Optional对象
}
if (result.isPresent()) { // 如果存在匹配成功的元素
System.out.println("匹配成功:" + result.get());
} else { // 如果不存在匹配成功的元素
System.out.println("匹配失败");
}
```
这段代码首先使用Stream流和filter操作符进行匹配A,如果匹配成功则返回一个Optional对象;如果匹配不成功,则再次使用Stream流和filter操作符进行匹配B,如果匹配成功则返回一个Optional对象。最后判断Optional对象是否存在匹配成功的元素,如果存在则输出匹配成功的元素,否则输出匹配失败的信息。
java list找出重复元素
可以使用两个循环嵌套的方式来找出List中的重复元素,具体方法如下:
```java
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("a");
list.add("d");
list.add("c");
for(int i=0; i<list.size()-1; i++) {
for(int j=i+1; j<list.size(); j++) {
if(list.get(i).equals(list.get(j))) {
System.out.println("重复元素为:" + list.get(i));
}
}
}
```
上述代码中,我们使用了两个循环嵌套,外层循环遍历List中的元素,内层循环则从外层元素的下一个位置开始遍历,如果发现有两个元素相等,则输出重复元素。