Java 集合总结(1) Collection常用方法及迭代器

最近回顾java基础,将以前自学笔记搬到网上,以供以后学习查阅。

集合:集合是存储对象数据的集合容器。
集合比数组的优势:

  1. 集合可以存储任意类型的对象数据,数组只能存储同一种数据类型 的数据。
  2. 集合的长度是会发生变化的,数组的长度是固定的。

Collection 单例集合的跟接口。
-----------| List 如果是实现了List接口的集合类,具备的特点: 有序,可重复。
----------| Set 如果是实现了Set接口的集合类,具备特点: 无序,不可重复。

Collection接口中的常用方法:
先创建实现Collection对象

Collection c = new ArrayList();

(1)增加
add(E e) 添加成功返回true,添加 失败返回false.

  c.add("hao");
  c.add("Ren");
  c.add("HOU");

addAll(Collection c) 把一个集合 的元素添加到另外一个集合中去。

//创建集合
  Collection c2 = new ArrayList();
  c2.add("gong");
  c2.add("hoa");
  c2.add("jiagn ");
  c.addAll(c2); // 把c2的元素的添加到c集合 中去。

(2) 删除
clear()

c.clear(); //clear()清空集合中的元素

remove(Object o)

System.out.println("删除成功吗?"+c.remove("HOU"));  // remove 指定集合中的元素删除,删除成功返回true,删除失败返回false.
  c.removeAll(c2); //删除c集合中与c2的交集元素。
  
  c.retainAll(c2); //保留c集合与c2的交集元素,其他的元素一并删除。

(3)判断
isEmpty()
contains(Object o)
containsAll(Collection<?> c)

  System.out.println("判断集合是否为空元素:"+ c.isEmpty());
  System.out.println("判断集合中是否存在指定的元素:"+ c.contains("ZHOU"));
   // 其实contains方法内部是依赖于equals方法进行比较的。使用时可以根据需要重写equals和hashCode方法

(4)查看

System.out.println("查看元素个数:"+c.size());
System.out.println("集合的元素:"+ c);

遍历集合的方法有两种:
(1)使用toArray()方法

 Object[] obj = c.toArray();
 for (int i = 0; i < obj.length; i++) {
    System.out.println(obj[i] + ",");
 }

(2)使用Iterator

  Iterator it = c.iterator(); // 返回一个迭代器 疑问:iterator()方法返回的是一个接口类型,为什么接口又可以调用方法可以使用呢?
         // iterator 实际上返回的是iterator接口的实现类对象。
  System.out.println("是否有元素可以遍历:" + it.hasNext());
  while (it.hasNext()) {  // hasNext()是否有元素可以遍历
   	System.out.println("元素1:" + (String)it.next()); //获取元素
   	it.remove();
  }
  System.out.println("集合中的元素:"+c);   //已经完全删除了
发布了15 篇原创文章 · 获赞 0 · 访问量 222

猜你喜欢

转载自blog.csdn.net/ren_x_guo/article/details/104964704