实训第六天

本文介绍了Java中的Collection,ArrayList,List和Queue等集合类的基本操作,包括添加元素、判断元素存在、清空与修改、迭代以及队列的使用方法。
摘要由CSDN通过智能技术生成
package com.java.collectiontest;
/*
 * @Author jingxurun
 * @Date 2024/1/29 星期一 8:44
 * @Version
 **/
import org.junit.Test;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Arrays;
import java.util.List;
import java.util.Iterator;
 
public class CollectionTest {
 
    @Test
    public void collectionTest(){
        //接口类型的引用指向实现的对象,形成多态
        Collection collection = new ArrayList();
        System.out.println(collection);//[]
 
        //向集合中添加元素,该方法的形参要求是Obiect类型
        boolean b = collection.add("one");//[one]
        System.out.println(collection);//[one]
        System.out.println("b = " + b);//true
        collection.add(2);//[one,2]
        System.out.println(collection);//[one,2]
        collection.add('a');
        collection.add(3.14);
        collection.add("jxr");
        System.out.println(collection);//[one.2.a.3.14,jxr]
 
        //判断是否包含对象
        b = collection.contains("two");
        System.out.println("b = " + b);//false
        b = collection.contains("one");
        System.out.println("b = " + b);//true
 
        //判断集合是否为空
        b = collection.isEmpty();
        System.out.println("b = " + b);//false
        System.out.println("集合中的元素有" + collection);
        b = collection.remove("one");
        System.out.println("b = " + b);//true
        System.out.println("集合中的元素有" + collection);
 
        //将集合转换成数组
        Object[] objects = collection.toArray();
        //遍历数组中的元素(一)
        for (int i = 0; i < objects.length; i++) {
            System.out.println(objects[i]);
        }
        //将数组转换成集合
        List objects1 = Arrays.asList(objects);
        System.out.println(objects1);
 
        //迭代器,遍历集合中的元素(二)
        Iterator it = objects1.iterator();//Iterator对象称为迭代器
        /*
        *b = it.hasNext();
        *System.out.println("b = " + b);//true 如果仍有元素可以迭代,则返回true
        *Object obj = it.next();
        *System.out.println("元素:" + obj);//返回迭代的下一个元素
        **/
        while (it.hasNext() == true){
            Object obj = it.next();
            System.out.println(obj);
        }
 
        //遍历集合中的元素(三)
        for (Object o : objects1 ) {
            System.out.println(o);
        }
    }
    /**
     * list集合常用的方法
     */
    @Test
    public void listTest() {
        List list = new ArrayList();
        int size = list.size();
        System.out.println(size);//0
        System.out.println(list);//[]
        //向集合中添加元素
        list.add(0,"one");
        list.add(1,2);
        list.add(2,'3');
        list.add(3,3.0);
        System.out.println(list);
 
        List list1 = new ArrayList();
        list1.add("two");
        list1.add(2);
        list1.add(2.0);
        list1.addAll(list);
        System.out.println(list1);
 
        //根据下标查看集合中指定位置的元素
        Object o = list.get(3);
        System.out.println(o);
 
        //根据下标修改集合中的指定位置的元素
        o = list.set(0,1.0);
        System.out.println("下表为0的改为" + o);
        System.out.println(list);
 
        //根据下标删除集合指定位置的元素
        o = list.remove(0);
        System.out.println("删除的元素为" + o);
        System.out.println(list);
 
        //获取集合(前闭后开)
        List list2 = list.subList(0,3);
        System.out.println(list);
        System.out.println("子集合为:" + list2);
        list.remove(0);
        System.out.println(list);
        //System.out.println("子集合为:" + list2);//无法打印
 
    }
    @Test
    public void collectionTest02(){
        Collection<String> collection = new ArrayList<>();
        collection.add("AA");
        collection.add("BB");
        collection.add("CC");
        collection.add("DD");
        collection.add("EE");
        System.out.println(collection);
    }
}
package com.java.queueDemo;/*
 * @Author jingxurun
 * @Date 2024/1/29 星期一 17:19
 * @Version
 **/
import org.junit.Test;
import java.util.Queue;
import java.util.LinkedList;
 
public class QueueTest {
    @Test
    public void queueTest(){
        //准备一个Queue集合
        Queue<Integer> queue = new LinkedList<>();
        //将数据11.22.33.44.55依次入队并打印
        for (int i = 0; i < 5; i++) {
            queue.offer(i * 11);
            System.out.println(queue);
        }
        //然后查看队首元素并打印
        Integer it = queue.peek();
        System.out.println("队首元素为:" + it);
 
        //然后将队列中所有数据依次出队并打印
        //poll
 
        for (int i = 0; i < queue.size(); i++) {//不行,因为队列长度会变
            Integer it1 = queue.poll();
            System.out.println(it1);
        }
 
        //正确做法
        int len = queue.size();
        for (int i = 0; i < len; i++) {
            Integer it1 = queue.poll();
            System.out.println(it1);
        }
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值