第九章 集合类
1.集合类概述
2.collection集合
基本成员方法:
public static void main(String[] args) throws ParseException {
Collection<String> c =new ArrayList<String>();
c.add("hello");//添加
c.add("world");
c.add("java");
System.out.println(c);
System.out.println(c.size());//集合元素个数
c.remove("world");//移除
System.out.println(c);
System.out.println(c.contains("world"));//是否存在
System.out.println(c.contains("haha"));//返回false
c.clear();//清空
System.out.println(c);
System.out.println(c.isEmpty());//判空
}
遍历:
public static void main(String[] args) throws ParseException {
Collection<String> c =new ArrayList<String>();
c.add("hello");//添加
c.add("world");
c.add("java");
System.out.println(c);
Iterator<String> it= c.iterator();
while(it.hasNext()){
String s=it.next();
System.out.println(s);
}
}
集合的使用步骤:
案例:
public class Student {
private String name;
private int age;
public Student(){}
public Student(String name,int age){
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
public class Test{
public static void main(String[] args) throws ParseException {
Collection<Student> c =new ArrayList<Student>();
Student s1=new Student("lily",18);
Student s2=new Student("Bob",19);
Student s3=new Student("jack",21);
c.add(s1);
c.add(s2);
c.add(s3) ;
//System.out.println(c);
Iterator<Student> it= c.iterator();
while(it.hasNext()){
Student s=it.next();
System.out.println(s.getName()+"---"+s.getAge());
}
}
}
3.List集合
public static void main(String[] args) throws ParseException {
List<String> c =new ArrayList<String>();
c.add("hello");
c.add("world");
c.add("world");//可以存储重复数据
c.add("java") ;
//System.out.println(c);
Iterator<String> it= c.iterator();
while(it.hasNext()){
String s=it.next();
System.out.println(s);
}
}
特有成员方法:
public static void main(String[] args) throws ParseException {
List<String> c =new ArrayList<String>();
c.add("hello");
c.add("world");
c.add("java") ;
c.add(1,"javaee");//在指定位置插入元素
//c.add(11,"javaee");索引越界
System.out.println(c.remove(1));// 删除指定位置的元素并返回该元素的值,这里输出“javaee"
System.out.println(c.get(1));//获取指定位置元素
System.out.println(c.set(1,"javaee"));//修改指定位置的元素并返回该元素的值
Iterator<String> it= c.iterator();
while(it.hasNext()){
String s=it.next();
System.out.println(s);
}
}
两种遍历方法:
public static void main(String[] args) throws ParseException {
List<String> c =new ArrayList<String>();
c.add("hello");
c.add("world");
c.add("java") ;
for(int x=0;x<c.size();x++){
System.out.println(c.get(x));
}//普通for循环遍历
Iterator<String> it= c.iterator();
while(it.hasNext()){
String s=it.next();
System.out.println(s);
}//迭代器遍历
}
List特有迭代器:
public static void main(String[] args) throws ParseException {
List<String> c =new ArrayList<String>();
c.add("hello");
c.add("world");
c.add("java") ;
ListIterator<String> it= c.listIterator();
while(it.hasNext()){
String s=it.next();
System.out.println(s);
}
//必须先有正向遍历,才能用反向遍历
while(it.hasPrevious()){
String s=it.previous();
System.out.println(s);
}
}
并发修改异常:
5.增强for
public static void main(String[] args) throws ParseException {
List<String> c =new ArrayList<String>();
c.add("hello");
c.add("world");
c.add("java") ;
if(c!=null){
for(String s: c){
System.out.println(s);
}
}
}
6.ArrayList 和 LinkList
public static void main(String[] args) throws ParseException {
ArrayList<String> c =new ArrayList<String>();
c.add("hello");
c.add("world");
c.add("java") ;
for(int x=0;x<c.size();x++){
System.out.println(c.get(x));
}//普通for循环遍历
if(c!=null){
for(String s: c){
System.out.println(s);
}
}//增强for
Iterator<String> it= c.iterator();
while(it.hasNext()){
String s=it.next();
System.out.println(s);
}//迭代器
}