集合框架1----collection与List子接口

视频解析:13.03 Collection体系哔哩哔哩bilibili

Collectionti体系:

 

 

 

 

collection父接口

 

 

有关代码:

import javax.swing.text.html.HTMLDocument;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class Demo1 {
   public static void main(String[] args) {
       //创建集合
       Collection collection = new ArrayList();

       //1.添加元素
       collection.add("西瓜");
       collection.add("苹果");
       collection.add("榴莲");
       System.out.println("元素个数:"+collection.size());//输出元素个数:3
       //遍历
       System.out.println(collection);//输出[西瓜, 苹果, 榴莲]

       //2.删除元素
       collection.remove("榴莲");//删除指定元素
       System.out.println(collection);//输出[西瓜, 苹果]
       collection.clear();//删除全部元素
       System.out.println(collection);//输出[]

       //再次添加元素
       collection.add("西瓜");
       collection.add("苹果");
       collection.add("榴莲");

       //3.使用迭代器进行遍历
       //1.hasNext():有没有下一个元素
       //2.next():获取下一个元素
       //3.remove():删除元素
       Iterator iterator = collection.iterator();
       while (iterator.hasNext()){
           System.out.print(iterator.next()+" ");//输出西瓜 苹果 榴莲
           iterator.remove();
      }
       System.out.println();//换行
       System.out.println(collection);//输出[]


       //4.判断
       System.out.println(collection.contains("西瓜"));/*判断数组是否有西瓜,由于iterator.remove();已经将
       数组清空,因此没有西瓜,输出false*/
       System.out.println(collection.isEmpty());//判断数组是否为空,数组被清空,因此输出true
  }
}

List子接口:

 

 

代码如下:

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;

public class ListDemo1 {
   public static void main(String[] args) {
       //创建List对象
       List list = new ArrayList<>();
       //添加数据
       list.add("苹果");
       list.add("香蕉");
       list.add(0,"鸭梨");//在数组第一个位置添加鸭梨
       System.out.println("元素个数为:"+list.size());//输出元素个数为:3
       System.out.println(list.toString());//输出[鸭梨, 苹果, 香蕉]

       //删除元素
       System.out.println("------------删除元素--------------");
       list.remove("苹果");//根据数据名进行删除
      // list.remove(0);//根据下标进行删除
       System.out.println(list.toString());

       System.out.println("---------------遍历数组-------------------");
       System.out.println("--------------1.使用普通for循环-----------------------------");
       for (int i = 0; i < list.size(); i++) {
           System.out.println(list.get(i));//get()根据下标获取元素,输出鸭梨 香蕉
      }
       System.out.println("--------------2.使用增强for循环-----------------------------");
       for (Object i:list){
           System.out.println(i);
      }
       System.out.println("--------------3.使用Iterator迭代器循环-----------------------------");
       Iterator iterator = list.iterator();
       while (iterator.hasNext()){
           System.out.println(iterator.next());
      }
       System.out.println("--------------4.使用ListIterator循环-----------------------------");
       /*与Iterator的区别,ListIterator可以向前或向后遍历,添加,删除,修改元素*/
       ListIterator listIterator = list.listIterator();
       System.out.println("从前往后迭代:");
       while (listIterator.hasNext()){
           System.out.println(listIterator.nextIndex()+":"+listIterator.next());
      }
       System.out.println("从后往前迭代:");
       while (listIterator.hasPrevious()){
           System.out.println(listIterator.previousIndex()+":"+listIterator.previous());
      }
       System.out.println("--------------------4.获取位置-------------------");
       System.out.println(list.indexOf("香蕉"));//输出1
  }
}

补充

import java.util.ArrayList;
import java.util.List;

public class ListDemo2 {
   public static void main(String[] args) {
       List list = new ArrayList<>();
       list.add(20);
       list.add(30);
       list.add(40);
       list.add(50);
       list.add(60);

       //删除元素
       //list.remove(30);//报错,数字不可直接删除,需要使用下标进行删除操作
       list.remove(1);
       System.out.println(list.toString());//输出[20, 40, 50, 60]
       list.add(1,30);
       System.out.println(list.toString());//输出[20, 30, 40, 50, 60]

       //使用subList()取元素;
       System.out.println(list.subList(1, 3));//输出[30, 40]
  }
}
 
posted @   默夔然  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示