java中的集合

集合

集合的概述

编程的时候如果需要存储多个数据,使用长度固定的数组格式不一定能够满足我们的需求,适应不了变化的需求,那么此时我们可以选择使用集合

集合的特点:提供依存存储空间可变的存储类型,存储数据容量可以发生该表

Collection 是单列集合,对应的双列集合是 Map 集合

  • 单列集合 Collection

    • List 可重复:ArrayList、LinkedList ……

    • Set 不可重复:HashSet、TreeSet ……

  • 双列集合 MapHashMap 、TreeMap……

接口:加粗标记 实现类:斜体标记

ArrayList的构造方法和添加元素的方法add

方法名说明
public ArrayList()创建一个空的集合对象
public boolean add(E e)将指定的元素最佳到此集合的末尾
public void add(int index, E element)在此集合中指定位置插入指定的元素

demo:致敬《射雕英雄传》

package demo01;

import java.util.ArrayList;

/**
 * @Classname : demo01
 * @Description : TODO Arraylist 的添加方法和构造方法
 * @Author : lin_refuel@qq.com
 */
public class demo01 {
    public static void main(String[] args) {
     //定义一个空的集合类Arraylist,数据类型是引用数据类型String
        ArrayList<String> list = new ArrayList<>();
     //调用Arraylist里面的add方法可以在集合里面添加元素
        list.add("东邪");
        list.add("西毒");
        list.add("南帝");
        list.add("北丐");
        //add方法可以调整插入的位置,例如在第二个(索引的下标是从零开始)位置插入一个“中神通”
        list.add(2,"中神通");
        //输出集合里面的内容,ArrayList集合可以直接输出
        System.out.println(list);//[东邪, 西毒, 中神通, 南帝, 北丐]
    }
}

ArrayList中的常用方法

方法名说明
public boolean remove(Object o)删除指定的元素,返回删除是否成功
public E remove(int index)删除指定索引出的元素,返回删除的元素
public E set(int index, E element)修改指定索引处的元素,返回修改的元素
public E get(int index)返回指定索引处的元素
public int size()返回集合中元素的个数

remove删除指定的元素

5个人第一次华山论剑,第一次应该是欧阳锋先行离开的

demo:

package demo01;

import java.util.ArrayList;

/**
 * @Classname : demo02
 * @Description : TODO ArrayList中的常用方法
 * @Author : lin_refuel@qq.com
 */
public class demo02 {
    public static void main(String[] args) {
        //定义一个空的集合
        ArrayList<String> list  = new ArrayList<>();
        //添加几个元素,方法add
        list.add("黄固");
        list.add("欧阳锋");
        list.add("段智兴");
        list.add("洪七公");
        list.add("王重阳");
        //调用第一个方法,remove删除一个元素,删除欧阳锋,华山论剑第一个输掉,第一个走的
        list.remove("欧阳锋");
        System.out.println(list);//[黄固, 段智兴, 洪七公, 王重阳]
    }
}

在这里插入图片描述

set方法,修改指定索引处的元素,返回修改的元素

王重阳最先逝去,师弟周伯通替代

package demo01;

import java.util.ArrayList;

/**
 * @Classname : demo02
 * @Description : TODO ArrayList中的常用方法
 * @Author : lin_refuel@qq.com
 */
public class demo02 {
    public static void main(String[] args) {
        //定义一个空的集合
        ArrayList<String> list  = new ArrayList<>();
        //添加几个元素,方法add
        list.add("黄固");
        list.add("欧阳锋");
        list.add("段智兴");
        list.add("洪七公");
        list.add("王重阳");
        //调用set方法替换掉王重阳,由王重阳的师弟,周伯通替代
        System.out.println(list.set(4,"周伯通")+"5人之中最先逝世");//返回被删除的元素
        System.out.println(list);
    }
}

在这里插入图片描述

get返回指定元素

import java.util.ArrayList;

/**
 * @Classname : demo02
 * @Description : TODO ArrayList中的常用方法
 * @Author : lin_refuel@qq.com
 */
public class demo02 {
    public static void main(String[] args) {
        //定义一个空的集合
        ArrayList<String> list  = new ArrayList<>();
        //添加几个元素,方法add
        list.add("黄固");
        list.add("欧阳锋");
        list.add("段智兴");
        list.add("洪七公");
        list.add("王重阳");
        System.out.println(list.get(1) +"会蛤蟆功");//欧阳锋会蛤蟆功
    }
}

size计算长度

package demo01;

import java.util.ArrayList;

/**
 * @Classname : demo02
 * @Description : TODO ArrayList中的常用方法
 * @Author : lin_refuel@qq.com
 */
public class demo02 {
    public static void main(String[] args) {
        //定义一个空的集合
        ArrayList<String> list  = new ArrayList<>();
        //添加几个元素,方法add
        list.add("黄固");
        list.add("欧阳锋");
        list.add("段智兴");
        list.add("洪七公");
        list.add("王重阳");
        System.out.println(list.size());//5
    }
}

集合的遍历

此时时间拨回到90年代,此时我正在香港某个街头,定睛一看,嚯~

package demo01;

import java.util.ArrayList;

/**
 * @Classname : demo03
 * @Description : TODO 集合的遍历
 * @Author : lin_refuel@qq.com
 */
public class demo03 {
    public static void main(String[] args) {
        //定义一个空的集合
        ArrayList<String> list = new ArrayList<>();
        //放入我们今天的主角,不用多说懂得都懂
        list.add("刘德华");
        list.add("郭富城");
        list.add("黎明");
        list.add("张学友");
        //通过循环进行访问
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i)+",");
        }
        System.out.println("\n=====================================");
        //*****************************************************
        //增强for循环,进行访问
        for (String str:list) {
            System.out.print(str+",");
        }
        System.out.println("========================================");
    }
}

ArrayList读写学生类对象

Student学生类

package demo01;

/**
 * @Classname : Student
 * @Description : TODO 学生类
 * @Author : lin_refuel@qq.com
 */
public class Student {
    //定义出学生基本属性
    private String name;//姓名
    private int age;//年领
    private String sex;//性别

    public Student() {
    }

    public Student(String name, int age, String sex) {
        this.name = name;
        this.age = age;
        this.sex = sex;
    }

    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 String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                '}';
    }
}

学生类集合测试

package demo01;

import java.util.ArrayList;

/**
 * @Classname : demo04
 * @Description : TODO 学生对象集合的测试类
 * @Author : lin_refuel@qq.com
 */
public class demo04 {
    public static void main(String[] args) {
          // 定义一个空的集合
        ArrayList<Student> Stulist = new ArrayList<Student>();
        //定义一个方法添加学生的信息
        EnterYourInformation(Stulist);
        //通过循环来输出学生的信息
        outputStudentInformation(Stulist);
    }

    /**
     * 输出学生信息
     * @param stulist
     */
    private static void outputStudentInformation(ArrayList<Student> stulist) {
        for (int i = 0; i < stulist.size(); i++) {
            System.out.printf("name : %s  age: %d  sex : %s\n",
                               stulist.get(i).getName(),stulist.get(i).getAge(),stulist.get(i).getSex());
        }
    }

    /**
     * 学生信息添加方法
     * @param stulist 
     */
    private static void EnterYourInformation(ArrayList<Student> stulist) {
        //由于这个是对象之间的赋值两个都是一个空间
        stulist.add(new Student("小肆",19,"boy"));
        stulist.add(new Student("小伍",18,"girl"));
        stulist.add(new Student("小陆",17,"girl"));
    }
}
  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值