11 集合

01 集合框架介绍

 

 


02 Collection集合常用功能

package Collection.Collection;

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

/*
java.util.collection接口
所有单列集合的最顶层的接口,里边定义了所有单列集合共性的方法任意的单列集合都可以使用Collection接口中的方法共性的方法:
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():把集合中的元素,存储到数组中。
*/
public class Demo01 {
   public static void main(String[] args) {
       //创建集合对象,可以使用多态
       Collection<String> coll = new ArrayList<>();
       System.out.println(coll);  //重写了toString方法 []

       boolean b1 = coll.add("张三");
       System.out.println(b1);  //true
       System.out.println(coll);
       coll.add("李四");
       coll.add("王五");
       coll.add("赵六");
       coll.add("田七");
       System.out.println(coll);

       /*
       remove   删除的元素有返回true,不存在返回false
        */
       boolean b2 = coll.remove("赵六");
       System.out.println(b2);
       boolean b3 = coll.remove("赵四");
       System.out.println(b3);
       System.out.println(coll);

       //contains 判断是否包含给定的对象
       boolean b4 = coll.contains("李四");
       boolean b5 = coll.contains("赵四");
       System.out.println(b4);
       System.out.println(b5);

       //isEmpty判断是否为空
       boolean b6 = coll.isEmpty();
       System.out.println(b6);

       //size返回集合元素个数
       int size = coll.size();
       System.out.println(size);

       //Object[] toArray(); 把集合中的元素,存储到数组中
       Object[] arr = coll.toArray();
       for (int i = 0; i < arr.length; i++) {
           System.out.println(arr[i]);
      }

       //clear 清空集合中的元素
       coll.clear();
       System.out.println(coll);
  }
}

03 Iterator接口

package Collection.Iterator;

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

/*
java.util.Iterator接口: 迭代器
有两个常用的方法
   boolean hasNext()如果仍有元素可以选代,则返回true。
       判断集合中还有没有下一个元素,有就返回true,没有就返回false
       E next()返回代的下一个元素。
           取出集合中的下一个元素
       Iterator选代器,是一个接口,我们无法直接使用,需要使用Iterator接口的实现类对象,获取实现类的方式比较特殊
       collection接口中有一个方法,叫iterator(),这个方法返回的就是选代器的实现类对象
           Iterator<E> iterator()返回在此 collection 的元素上进行选代的选代器。
选代器的使用步骤(重点):
1.使用集合中的方法iterator()获取选代器的实现类对象,使用Iterator接口接收(多态)
2.使用Iterator接口中的方法hasNext判断还有没有下一个元素
3.使用Iterator接口中的方法next取出集合申的下一个元素
*/
public class Demo01 {
   public static void main(String[] args) {
       //创建一个集合对象
       Collection<String> coll = new ArrayList<>();
       coll.add("姚明");
       coll.add("科比");
       coll.add("麦迪");
       coll.add("詹姆斯");
       coll.add("艾佛森");

       /*
       1.使用集合中的方法iterator()获取选代器的实现类对象,使用Iterator接口接收(多态)
       Iterator的泛型跟着集合走,集合是什么泛型,迭代器就是什么泛型
        */
       //多态   接口             实现类对象
       Iterator<String> it = coll.iterator();

       /*
       迭代器取出集合元素的代码,是一个循环过程
       所以我们可以使用迭代器优化
       因为不知道含有多少元素,使用while循环
       循环结束的条件是,hasNext方法返回false
        */
       while (it.hasNext()){
           String e = it.next();
           System.out.println(e);
      }
       System.out.println("================");
       

//
//
//       //2.使用Iterator接口中的方法hasNext判断还有没有下一个元素
//       boolean b = it.hasNext();
//       System.out.println(b); //返回true说明集合中有元素
//       //3.使用Iterator接口中的方法next取出集合申的下一个元素
//       String s = it.next();
//       System.out.println(s);//姚明
//
//       b = it.hasNext();
//       System.out.println(b);
//       s = it.next();
//       System.out.println(s);
//
//       b = it.hasNext();
//       System.out.println(b);
//       s = it.next();
//       System.out.println(s);
//
//       b = it.hasNext();
//       System.out.println(b);
//       s = it.next();
//       System.out.println(s);
//
//       b = it.hasNext();
//       System.out.println(b);
//       s = it.next();
//       System.out.println(s);
//
//       b = it.hasNext();
//       System.out.println(b);//没有元素返回false
//
////       如果再取出,会抛出没有元素异常
  }
}

增强for循环

package Collection.Iterator;

import java.util.ArrayList;

/*
   增强 for循环,使用for循环的格式,简化了迭代器的书写
   collection<E>extends Iterable<E>:所有的单列集合都可以使用增强for public interface Iterable<T>实现这个接口允许对象成为"foreach"语句的目标。
   增强for循环:用来遍历集合和数组
   格式:
          for(集合/数组的数据类型变量名:集合名/数组名)
               sout(变量名);
           }
*/
public class Demo02 {
   public static void main(String[] args) {
//       demo01();
       demo02();
  }

   //使用增强for循环遍历数组
   private static void demo01(){
       int[] arr = {1,2,3,4,5};
       for (int i:arr){
           System.out.println(i);
      }
  }

   private static void demo02(){
       ArrayList<String> list = new ArrayList<>();
       list.add("aaa");
       list.add("bbb");
       list.add("ccc");
       list.add("ddd");
       for (String str:list){
           System.out.println(str);
      }
  }
}

 

posted @   CHPang  阅读(64)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示