collection接口集合

简介

029collection接口 - 图1029collection接口 - 图2

常用方法

boolean add(E e); 向集合中添加元素
boolean remove(E e); 删除集合中的某个元素
void clear(); 清空集合所有的元素
boolean contains(E e); 判断集合中是否包含某个元素
boolean isEmpty0; 判断集合是否为空
int size(); 获取集合的长度
Object[] toArray(); 将集合转成一个数组

  1. public static void main(String[] args) {
  2. Collection<String>coll=new ArrayList<>();//多态的向上转型
  3. //boolean add(E e); 向集合中添加元素
  4. coll.add("hello");
  5. coll.add("world");
  6. coll.add("xu");
  7. coll.add("xian");
  8. System.out.println(coll);
  9. //boolean remove(E e); 删除集合中的某个元素
  10. boolean result_01 = coll.remove("xian er");//判断是否删除成功..coll里无xian er
  11. boolean result_02=coll.remove("xian");
  12. System.out.println(result_01);
  13. System.out.println(result_02);
  14. System.out.println(coll);
  15. //void clear(); 清空集合所有的元素
  16. coll.clear();
  17. System.out.println("已经清空后的结果是"+coll);
  18. //boolean contains(E e); 判断集合中是否包含某个元素
  19. coll.add("xian");
  20. boolean result_03 = coll.contains("xu");
  21. boolean result_04= coll.contains("xian");
  22. System.out.println(result_03);
  23. System.out.println(result_04);
  24. //boolean isEmpty(); 判断集合是否为空
  25. boolean result_05 = coll.isEmpty();
  26. coll.clear();
  27. boolean result_06 = coll.isEmpty();
  28. System.out.println(result_05);
  29. System.out.println(result_06);
  30. coll.add("hello");
  31. coll.add("world");
  32. coll.add("xu");
  33. coll.add("xian");
  34. //int size(); 获取集合的长度
  35. int size_01 = coll.size();
  36. System.out.println(size_01);
  37. //Object[] toArray(); 将集合转成一个数组
  38. Object[] objects = coll.toArray();
  39. for (int i = 0; i < objects.length; i++) {
  40. System.out.println(objects[i] );
  41. }
  42. }

集合的两种遍历方式

迭代器

java. util. Iterator接口:迭代器(对集合进行遍历)
有两个常用的方法
boolean hasNext() 如果仍有元素可以迭代,则返回true.
判断集合中还有没有下一 一个元素,有就返回true,没有就返回false
E next()_ 返回迭代的下一个元素。
取出集合中的下一个元素
Iterator迭代器,是一一个接口,我们无法直接使用,需要使用Iterator接口的实现类对象,获取实现类的方式比较特殊
Collection接口中有-一个方法,叫iterator(), 这个方法返回的就是迭代器的实现类对象
Iterator iterator() 返回在此collection 的元素上进行迭代的迭代器。
迭代器的使用步骤(重点):
1.使用集合中的方法iterator( )获取迭代器的实现类对象,使用Iterator接口接收(多态)
2.使用Iterator接口中的方法hasNext判断还有没有下一个元素
3.使用Iterator接口中的方法next取出集合中的下一个元素

  1. public static void main(String[] args) {
  2. int a=1;
  3. Collection<String>cll= new ArrayList<>();
  4. for (int i = 0; i<4 ; i++) {
  5. cll.add("1"+(a++));
  6. }
  7. cll.add("杨幂");
  8. cll.add("范冰冰");
  9. cll.add("迪丽热巴");
  10. cll.add("古力娜扎");
  11. //使用集合中的方法iterator( )获取迭代器的实现类对象,使用Iterator接口接收(多态)
  12. // 多态 接口 实现类对象
  13. Iterator<String> it = cll.iterator();
  14. /*
  15. 发现使用迭代器取出集合中元素的代码,是一个重复的过程
  16. 所以我们可以使用循环优化
  17. 不知道集合中有多少元素,使用while循环
  18. 循环结束的条件, hasNext方法返回false
  19. */
  20. //使用Iterator接口中的方法hasNext判断还有没有下一个元素返回值是boolean
  21. while (it.hasNext()){
  22. //使用Iterator接口中的方法next取出集合中的下一个元素
  23. String print = it.next();
  24. System.out.println(print);
  25. }
  26. System.out.println("-----------不太华丽的分割线------------");
  27. for(Iterator<String>it2= cll.iterator(); it2.hasNext();){
  28. //向上转型的建迭代器对象it2,判断it2的输出结果
  29. String e = it2.next();
  30. System.out.println(e);
  31. }
  32. /*
  33. for (String print : cll) {
  34. 这样更牛逼 直接输出cll里面所有的元素
  35. //使用Iterator接口中的方法next取出集合中的下一个元素
  36. System.out.println(print);
  37. */
  38. }
  39. }

增强for循环

for(数据类型变量名:容器对象) {//循环体语句}
//使用增强for循环遍历集合
for(string s: coll) {
System.out.println(s);
}