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
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());
|
|
}
|
|
}
|
|
|