JavaSE基础———对象数组和集合Collection

1. 对象数组

  对象数组就是把一组相同类型的引用类型的数据存进数组中。

package com.westos.demo;

public class Test1 {
    public static void main(String[] args) {
        Student s1 = new Student("张三", 20);
        Student s2 = new Student("李四",21);
        Student[] students = {s1,s2};
        for (int i = 0; i < students.length; i++) {
            System.out.println(students[i].getName()+"=="+students[i].getAge());
        }
    }
}

执行结果:
在这里插入图片描述
2. 集合框架

   (1)集合类的存在是为了方便对多个对象进行操作。

   (2)集合和数组的区别:
     ● 长度区别:数组的长度是固定的,创建之后就不能再改变;集合的长度是可变的。
     ● 存储的数据区别:数组既可以存储基本数据类型,也可以存储引用数据类型;而集合只能存储引用数据类型。
     ● 数组只能存储相同数据类型的数据,而集合可以存储不同数据类型的数据。

  (3)常用的集合继承图
在这里插入图片描述
3. Collection集合的功能

   (1)添加功能
     ● public boolean add(Object obj): 为集合添加一个元素
     ● public boolean addAll(Collection c):为集合添加另一个集合中的所有元素。
   (2)删除功能
     ● public void clear():删除集合中所有的元素。
     ● public boolean remove(Object obj):删除集合中的obj元素。
     ● public boolean removeAll(Collection c):删除一个集合的元素,删除的元素是这两个集合的交集元素。如果没有交集元素,就返回false。
   (3)判断功能
     ● public boolean contains(Object o):判断集合中是否包含指定的元素o。
     ● public boolean containsAll(Collection c):判断集合中是否包含指定集合的所有元素。
     ● public boolean isEmpty():判断集合是否为空。
   (4)获取功能
     ● Iterator iterator():返回在此 collection 的元素上进行迭代的迭代器。关于元素返回的顺序没有任何保证(除非此 collection 是某个能提供保证顺序的类实例)。
   (5)添加功能
     ● public Object[] toArray() : 返回包含此 collection 中所有元素的数组 。
代码演示:

package com.wetsos.demo01;

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

public class CollectionDemo {
    public static void main(String[] args) {
        Collection<String> list = new ArrayList<>();
        list.add("zhao");
        list.add("zhang");
        list.add("wang");
        list.add("qwer");
        list.add("qwerdnf");
        Collection<String> list1 = new ArrayList<>();
        list1.add("jinmin");
        ((ArrayList<String>) list).addAll(list1);
        System.out.println(list);
        list.remove("zhao");
        System.out.println(list);
        list.removeAll(list1);
        System.out.println(list);
        boolean b = list.contains("zhang");
        System.out.println(b);
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()){
            String s = iterator.next();
            System.out.println(s);
        }
        Object[] toArray = list.toArray();
        System.out.println(Arrays.toString(toArray));
    }
}

执行结果:
在这里插入图片描述
4. List集合

   (1)List集合的特点:集合中的元素有序,都存在一个索引,元素可以重复。
   (2)List集合特有的功能:
     ● public void add(int index,E element):在指定的索引处添加元素。
     ● public E remove(int index):返回一个指定索引处删除的元素。
     ● public E get(int index):获取指定索引处的元素。
     ● public E set(int index,E element):更改指定索引处的元素,返回被替换的元素。

代码演示:

package com.wetsos.demo01;

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

public class ListDemo01 {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        list.add(6);
        System.out.println(list);
        Integer set = list.set(5, 10);
        System.out.println(set);
        System.out.println(list);
        list.add(1,20);
        System.out.println(list);
    }
}

执行结果:
在这里插入图片描述
5. 遍历一个集合的几种方式

package com.wetsos.demo01;

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

public class Test {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.add(2);
        list.add(3);
        list.add(4);
        list.add(5);
        list.add(6);
        //方式一:一般的for循环
        for (int i = 0; i < list.size(); i++) {
            Integer integer = list.get(i);
            if (i == list.size()-1){
                System.out.println(integer);
            }else{
                System.out.print(integer+" ");
            }
        }
        //方式二:迭代器获取集合的元素
        Iterator<Integer> iterator = list.iterator();
        while (iterator.hasNext()){
            Integer next = iterator.next();
            System.out.println(next);
        }
        //方式三:增强for
        for (Integer integer : list) {
            System.out.println(integer);
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值