JAVA 二十一 Collection集合(List,Set)

JAVA 二十一 Collection集合(List,Set)

标签: JAVA


collection 特点无序,不知是否重复

list有序,不唯一

set无序,唯一

在list下ArrayList,LinkedList
在set下HashSet,TreeSet

多态,父类实现子类的实现类

/*
 * Colletion 集合接口  无序不唯一 使用子接口的实现类ArrayList演示对应的功能
 * 1 添加 
 * boolean add(E e); 往集合里面添加数据
 * boolean addAll(Collection c) 往集合里面添加另一个集合的数据
 * 2 获取
 * int size();获取集合中元素的个数
 * iterator() 返回值为Iterator对象,Iterator 是迭代器,用来遍历集合
 * Iterator里面的2个方法:1 hasNext()判断集合里面是否还有需要迭代的数据,有返回true,无返回false
 *                        2 next() 获取集合里面的每一项数据,返回值类型为集合里面存储的数据类型
 * 3 删除
 * void clear() 清除集合中所有的元素
 * boolean remove(Object o);删除集合里面指定的数据
 * boolean removeAll(Collection c);删除包含c集合里面的元素
 * 4 判断
 * boolean contains(Object o) 判断集合里面是否包含指定的内容
 * boolean containsAll(Collection c);判断集合是否包含集合c里面全部的内容
 * boolean isEmpty() 判断集合是否为空的方法,为空返回true
 * 5 集合转换为数组
 * Object[] toArray()
 * */

泛型

Collection<Student> c = new ArrayList();

练习

public class Student {
    private String name;
    private int age;
    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;
    }
    @Override
    public String toString() {
        // TODO Auto-generated method stub
        return this.name+"|"+this.age;
    }
    @Override
    public boolean equals(Object obj) {
        // TODO Auto-generated method stub
        if(obj instanceof Student){
            Student stu=(Student)obj;
            return this.name.equals(stu.name) && this.age==stu.age;
        }else{
            return false;
        }
    }

}

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class CollectionStu {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Collection<Student> c=new ArrayList();
        c.add(new Student("AA",19));
        c.add(new Student("BB",18));
        c.add(new Student("CC",20));
//      c.add("java33");
        System.out.println(c);
        Iterator<Student> it=c.iterator();
        while(it.hasNext()){
            System.out.println(it.next().getName());
        }
        System.out.println(c.remove(new Student("CC",20)));
        System.out.println(c);


//      while(it.hasNext()){
            System.out.println(it.next());
//          Object obj=it.next();
//          if(obj instanceof Student){
//          Student stu=(Student)obj;
//          System.out.println(stu.getName());
//          }
//      }

    }

}
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/*
 * Colletion 集合接口  无序不唯一 使用子接口的实现类ArrayList演示对应的功能
 * 1 添加 
 * boolean add(E e); 往集合里面添加数据
 * boolean addAll(Collection c) 往集合里面添加另一个集合的数据
 * 2 获取
 * int size();获取集合中元素的个数
 * iterator() 返回值为Iterator对象,Iterator 是迭代器,用来遍历集合
 * Iterator里面的2个方法:1 hasNext()判断集合里面是否还有需要迭代的数据,有返回true,无返回false
 *                       2 next() 获取集合里面的每一项数据,返回值类型为集合里面存储的数据类型
 * 3 删除
 * void clear() 清除集合中所有的元素
 * boolean remove(Object o);删除集合里面指定的数据
 * boolean removeAll(Collection c);删除包含c集合里面的元素
 * 4 判断
 * boolean contains(Object o) 判断集合里面是否包含指定的内容
 * boolean containsAll(Collection c);判断集合是否包含集合c里面全部的内容
 * boolean isEmpty() 判断集合是否为空的方法,为空返回true
 * 5 集合转换为数组
 * Object[] toArray()

 * 
 */
public class CollectionDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        add();
    }

    private static void add() {
        // TODO Auto-generated method stub
        Collection c1=new ArrayList();
        System.out.println(c1.add("java01"));
        c1.add("java02");
        c1.add("java03");
        c1.add("java03");
        c1.add(123);
        System.out.println(c1);
        Collection c2=new ArrayList();
        c2.add("jjava01");
        c2.add("jjava02");
        c2.add("jjava03");
        c1.addAll(c2);
        System.out.println(c1);
        System.out.println(c1.size());
        Iterator it=c1.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
        }
//      System.out.println(c1.remove("java01"));
//      System.out.println(c1.remove("jajva01"));
//      System.out.println(c1);
//      System.out.println(c1.removeAll(c2));
//      System.out.println(c1);
//      c1.clear();
//      System.out.println(c1.size());
//      System.out.println(c1.contains("java01"));
//      System.out.println(c1.contains("java0190"));
//      System.out.println(c1.containsAll(c2));
//      c2.add("oiiuu");
//      System.out.println(c1.containsAll(c2));
        System.out.println(c1.isEmpty());
        c1.clear();
        System.out.println(c1.isEmpty());
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值