You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

56 lines
1.6 KiB

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Objects;
public class ArticleRepository {
private final List<Article> articles = new ArrayList<>();
public void add(Article article) {
if (article != null) {
articles.add(article);
}
}
public void addAll(Collection<Article> newArticles) {
if (newArticles == null || newArticles.isEmpty()) {
return;
}
for (Article article : newArticles) {
add(article);
}
}
public List<Article> getAll() {
return new ArrayList<>(articles);
}
public void clear() {
articles.clear();
}
static class Article {
private String title;
public Article(String title) { this.title = title; }
public String getTitle() { return title; }
}
public static void main(String[] args) {
ArticleRepository repo = new ArticleRepository();
System.out.println("=== 测试 ArticleRepository ===");
System.out.println("初始大小:" + repo.getAll().size());
repo.add(new Article("文章1"));
System.out.println("添加一个后大小:" + repo.getAll().size());
ArrayList<Article> list = new ArrayList<>();
list.add(new Article("文章2"));
list.add(null);
list.add(new Article("文章3"));
repo.addAll(list);
System.out.println("添加多个后大小:" + repo.getAll().size());
repo.addAll(null);
System.out.println("过滤null后大小:" + repo.getAll().size());
}
}