1.定义:

集合就是一个容器,集合存储的都是对象.

2.与数组的区别

a.数组长度固定,集合长度可变
b.数组的效率比集合效率高

3.集合分类

a.Vector集合
b.ArrayList集合
c.LinkedList集合

List接口特点:

  • 有序的的集合(存储和取出元素顺序相同)
  • 允许存储重复的元素
  • 有索引,可以进行for循环遍历

=============================================
d.TreeSet集合
e.HashSet集合
f.LinkedHashSet集合
Set接口特点:

  • 不允许存储重复元素
  • 没有索引(不能使用普通的for循环遍历)
  • TreeSet集合与HashSet集合是无序的集合
  • LinkedHashSet集合是有序的集合

=============================================
Collection接口包括(List接口/Set接口)
特点:

  • 定义的是所有单列集合中共性的方法
  • 所有的单列集合都可以使用共性的方法
  • 没有带索引的方法

4.常用方法

      public boolean add(E e);     把给定元素添加到集合中
      public void clear();         清空集合中所有元素
      public boolean remove(E e)   删除给定的对象
      public boolean contains(E e) 判断当前集合中是否有给定的对象
      public boolean isEmpty();    判断当前集合是否为空
      public int size();           返回集合中元素的个数
      public Object [] toArray();  把集合的元素转化为数组

5.迭代器(iterator接口)

a.定义:在取出元素时先判断集合中有没有元素,如果有元素取出来,继续再判断,如果还有就再取出来,直到把集合中所有元素取出为止.
b.常用方法:

  • boolean hasNext() 判断集合中有没有下一个元素,如果有返回true
  • E next() 取出集合中下一个元素

c.使用步骤:

  • 使用集合中的方法iterator()获取迭代器的实现类对象,使用iterator接口接收
  • 使用iterator接口中的方法hasNext判断还有没有元素
  • 使用iterator接口中的方法next取出集合中的元素

例:

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

     public class Collection {
          public static void main(String[] args) {
            //创建集合
            java.util.Collection <String> col = new ArrayList<>();//多态
            //添加元素
            col.add("姚明");
            col.add("乔丹");
            col.add("博尔特");
            col.add("小卡");
            col.add("林丹");
            col.add("哈姆雷特");
            //调用iterator接口
            Iterator<String> it = col.iterator();
            //while循环遍历,判断有没有元素
            while (it.hasNext())
            {
                //取出元素并输出
                String s = it.next();
                System.out.println(s);
            }
         }
    }

6.foreach循环

原理:使用for循环简化了迭代器
作用:用来遍历数组和集合
格式:

      for(集合/数组-数据类型 变量名 :集合/数组名)
      {
             System.out.println(变量名);
      }
Last modification:May 29th, 2020 at 01:52 pm
如果觉得我的文章对你有用,请随意赞赏