集合框架

  有事我们会需要一个能够动态的调整大小的数组,比如说要添加新员工但是数组已经满了,并且数组的大小是在定义的时候定死的,所以我们就需要一个能够动态调整大小的数组或者用链表解决,而java中提供了这样一组数组,名为集合类。(有事还是需要链表来解决一些问题的)

    Java学习日记基础篇(九) —— 集合框架,泛型,异常

重要的就是linkedlist,arraylist,vector,hashset,hashmap

 从图中可以看出Java的集合类主要有以下几种:

  • List结构的集合类 —— ArrayList类LinkedList类Vector类Stack类
  • Map结构的集合类 —— HashMap类HashTable类
  • Set结构的集合类 —— HashSet类Hashtable类
  • Queue结构的集合 —— Queue接口

List类——列表结构

ArrayList和Vector的区别

  1. 同步性:Vector是同步的而ArrayList则是异步的。所以ArrayList是不安全的但是效率高。
  2. 数据增长:Vector会增长一倍的原数组的大小,ArrayList会增长原来的50%,所以集合所占的空间要比实际的需求要大

ArrayList类

//使用ArrayList类就要引入一个包
import java.util.*;
public class test1 {
    public static void main(String[] args) {
        //定义一个ArrayList对象
        ArrayList al = new ArrayList();
        
        //显示大小,用ArrayList类提供的size方法
        System.out.println("大小是:"+al.size());
        
        //向al中加入数据(类型是Object,Java中所有的类都是从Object中集成下来的,这意味着集合中可以放所有类型的类)
        //创建一个职员
        Clerk clerk1 = new Clerk("松江", 50, 1000);
        Clerk clerk2 = new Clerk("吴用",45,1200);
        //将clerk1加入到al中
        al.add(clerk1);//默认加载到尾部
        al.add(clerk2);
        System.out.println("大小是:"+al.size());
        
        //如何访问al中对象(数据)
        //访问第一个对象
        //Clerk temp = al.get(0);//get()返回的对象是object类型的,是clerk类型的父类,所以会报错
        //强制转换
        Clerk temp = (Clerk)al.get(0);
        System.out.println("第一个人的名字是:"+ temp.getName());
        
        //从al中删除一个对象
        al.remove(1);
    }
}
class Clerk
{
    private String name;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public float getSal() {
        return sal;
    }
    public void setSal(float sal) {
        this.sal = sal;
    }
    private int age;
    private float sal;
    public Clerk(String name,int age,float sal)
    {
        this.name = name;
        this.age = age;
        this.sal = sal;
    }
}
添加,遍历和删除对象

相关文章:

  • 2021-10-13
  • 2021-12-13
  • 2022-12-23
  • 2021-10-12
  • 2021-12-18
  • 2021-04-03
  • 2022-12-23
  • 2021-10-01
猜你喜欢
  • 2021-08-09
  • 2021-10-15
  • 2018-04-15
  • 2021-11-30
  • 2021-08-03
  • 2022-01-14
  • 2022-02-21
相关资源
相似解决方案