配置文件中中写了条件,用java8写一个根据读取到的条件将list中的数据进行skip的共通方法
时间: 2024-05-03 21:23:11 浏览: 111
可以使用Java 8的Stream API来实现这个方法,代码如下:
```java
import java.util.List;
import java.util.function.Predicate;
public class ListUtil {
public static <T> List<T> skip(List<T> list, Predicate<T> condition) {
return list.stream().filter(condition.negate()).collect(Collectors.toList());
}
}
```
这个方法接受一个List和一个Predicate作为参数,返回一个新的List,其中满足条件的元素被过滤掉了。调用方法的示例:
```java
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> result = ListUtil.skip(list, i -> i % 2 == 0);
System.out.println(result); // 输出 [1, 3, 5]
```
这个例子中,我们将一个List中所有偶数元素都过滤掉了,只留下了奇数元素。
相关问题
java项目json文件中中
在Java项目中,JSON (JavaScript Object Notation) 文件通常用于数据交换,尤其是当需要将数据从服务器传递给客户端或者存储配置信息时。JSON文件是一种轻量级的数据交换格式,它基于JavaScript语法,易于人阅读和编写,并且被许多编程语言包括Java广泛支持。
例如,一个简单的JSON文件可能包含这样的内容:
```json
{
"name": "John",
"age": 30,
"city": "New York"
}
```
在Java项目中,你可以使用如`org.json`库或Jackson、Gson等第三方库来解析JSON字符串到Java对象(JSONObject、JSONArray),以及将Java对象转换成JSON字符串。这样,你可以方便地操作和处理JSON数据。
要读取JSON文件,可以使用FileReader配合JSONObject,示例代码如下:
```java
import org.json.JSONObject;
String jsonString = "";
try (BufferedReader br = new BufferedReader(new FileReader("data.json"))) {
String line;
while ((line = br.readLine()) != null) {
jsonString += line;
}
} catch (IOException e) {
e.printStackTrace();
}
JSONObject jsonObject = new JSONObject(jsonString);
```
创建测试类,完成以下操作: a.创建3个Student的对象,2个Teacher对象 b.创建一个List和一个Set c.将a中创建的三个5个对象加入到List中 d.将a中创建的三个5个对象加入到Set中 e.编写一个static方法,可以对b中中创始的集合进行遍历,将集合中每个元素读出来转型为Person对象,并调用eat()方法 f.尝试删除List和Set中的元素,并在删除前后都调用e中编写的方法对List,Set进行遍历. g.创建一个Map,并将a中创建的三个学生对象,加入到Map中(以SNo为Key) h.编写一个static 方法,实现对g中创建Map进行遍历,并调用study()方法
以下是创建测试类并完成上述操作的代码:
```java
import java.util.*;
public class TestClass {
public static void main(String[] args) {
// 创建3个Student对象和2个Teacher对象
Student student1 = new Student("S001", "John");
Student student2 = new Student("S002", "Alice");
Student student3 = new Student("S003", "Bob");
Teacher teacher1 = new Teacher("T001", "Amy");
Teacher teacher2 = new Teacher("T002", "David");
// 创建一个List和一个Set
List<Person> personList = new ArrayList<>();
Set<Person> personSet = new HashSet<>();
// 将创建的对象加入到List和Set中
personList.add(student1);
personList.add(student2);
personList.add(student3);
personList.add(teacher1);
personList.add(teacher2);
personSet.add(student1);
personSet.add(student2);
personSet.add(student3);
personSet.add(teacher1);
personSet.add(teacher2);
// 遍历List和Set并调用eat()方法
traverseAndEat(personList);
traverseAndEat(personSet);
// 删除List和Set中的元素,并进行遍历
personList.remove(student1);
personSet.remove(student1);
traverseAndEat(personList);
traverseAndEat(personSet);
// 创建一个Map并将学生对象加入到Map中(以SNo为Key)
Map<String, Person> personMap = new HashMap<>();
personMap.put(student1.getSNo(), student1);
personMap.put(student2.getSNo(), student2);
personMap.put(student3.getSNo(), student3);
// 遍历Map并调用study()方法
traverseAndStudy(personMap);
}
// 遍历集合并调用eat()方法
public static void traverseAndEat(Collection<Person> collection) {
for (Person person : collection) {
person.eat();
}
}
// 遍历Map并调用study()方法
public static void traverseAndStudy(Map<String, Person> map) {
for (Person person : map.values()) {
person.study();
}
}
}
class Person {
private String id;
private String name;
public Person(String id, String name) {
this.id = id;
this.name = name;
}
public void eat() {
System.out.println(name + " is eating.");
}
public String getId() {
return id;
}
public String getName() {
return name;
}
}
class Student extends Person {
private String sNo;
public Student(String sNo, String name) {
super(sNo, name);
this.sNo = sNo;
}
public void study() {
System.out.println(getName() + " is studying.");
}
public String getSNo() {
return sNo;
}
}
class Teacher extends Person {
private String tNo;
public Teacher(String tNo, String name) {
super(tNo, name);
this.tNo = tNo;
}
public void teach() {
System.out.println(getName() + " is teaching.");
}
public String getTNo() {
return tNo;
}
}
```
请注意,上述代码中的 `Person` 类是所有对象的父类,包括 `Student` 和 `Teacher`。这样可以方便地将它们存储在同一个集合中,而且在遍历集合时可以将元素转换为 `Person` 类型并调用 `eat()` 方法。
阅读全文