- 集合概述
数组特点:必须指明数据类型、数组长度
学生成绩管理:保存30个学生成绩,是学生成绩:int
Int[] scores=new int[30];
再向数组中插入两个学生成绩:
Scores=new int[32];
集合:存储任意数据类型、长度不固定
2.List集合(CRUD)
例一、ArrayList获取并打印新闻标题
需求说明:按照以下实现的步骤,使用ArrayList获取和打印新闻标题,显示效果如下图所示:
(1)创建多个各类新闻标题对象,包含ID、名称和创建者三个属性;
(2)创建存储各类新闻标题的集合对象;
(3)按照顺序依次添加各类新闻标题,使用add()方法;
(4)获取新闻标题的总数,使用size()方法;
(5)根据位置获取相应新闻标题、逐条打印每条新闻标题的名称,使用for循环遍历。
package com.vp.day01.demo01;
/**
* 新闻类
*/
public class News {
private int id; //ID
private String name;//名称
private String author;//创建者
public News() {
}
public News(int id, String name, String author) {
this.id = id;
this.name = name;
this.author = author;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
}
package com.vp.day01.demo01;
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
//创建多个各类新闻标题对象
News news=new News(1,"汽车","管理员");
News news1=new News(2,"高考","管理员");
//创建存储各类新闻标题的集合对象
ArrayList arrayList=new ArrayList();
//按照顺序依次添加各类新闻标题
arrayList.add(news);
arrayList.add(news1);
//获取新闻标题的总数,使用size()方法
System.out.println("新闻标题数目为:"+arrayList.size()+"条");
//根据位置获取相应新闻标题、逐条打印每条新闻标题的名称
for (int i=0;i<arrayList.size();i++){
News news2=(News)arrayList.get(i);
System.out.println(i+1+":"+news2.getName());
}
}
}
例二、LinkedList添加和删除新闻标题
需求说明:在作业1的基础上,换用LinkedList存储新闻数据,并且使用LinkedList的getFirst()和getLast()方法获取第一条和最后一条数据,以及removeFirst()和removeLast()方法删除第一条和最后一条数据,输出效果如下图所示。
package com.vp.day01.demo02;
/**
* 狗类
*/
public class Dog {
private String name;//名字
private String strain;//品种
public Dog() {
}
public Dog(String name, String strain) {
this.name = name;
this.strain = strain;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getStrain() {
return strain;
}
public void setStrain(String strain) {
this.strain = strain;
}
@Override
public String toString() {
return name + "\t\t" + strain ;
}
}
package com.vp.day01.demo02;
import com.vp.day01.demo08.Dog;
import java.util.ArrayList;
public class Test {
public static void main(String[] args) {
Dog dog=new Dog("欧欧","雪娜瑞");
Dog dog1=new Dog("亚亚","拉布拉多");
Dog dog2=new Dog("菲菲","拉布拉多");
Dog dog3=new Dog("美美","雪娜瑞");
ArrayList<Dog> arrayList=new ArrayList<>();
arrayList.add(dog);
arrayList.add(dog1);
arrayList.add(dog2);
arrayList.add(dog3);
System.out.println("共计有"+arrayList.size()+"条狗狗。");
System.out.println("分别是:");
for (Dog dog4:arrayList){
System.out.println(dog4);
}
System.out.println("------------------------------------------");
System.out.println("删除之前共计有"+arrayList.size()+"条狗狗。");
System.out.println();
//删除指定位置的狗,使用remove()方法
//arrayList.remove(0);下标
arrayList.remove(dog);
System.out.println("删除之后共计还有"+arrayList.size()+"条狗狗。");
System.out.println("分别是:");
for (Dog dog4:arrayList){
System.out.println(dog4);
}
//判断集合中是否包含指定狗,使用contains()方法
System.out.println("------------------------------------------");
boolean contains = arrayList.contains(dog2.getName());
System.out.println("集合中包含"+contains+"的信息");
}
}