java集合ArrayLiet与LinkedList的实际应用

java集合框架

Java集合框架提供了一套性能优良、使用方便的接口和类,它们位于java.util*包中

Collection接口提供一组不唯一,无序的对象

List接口存储一组不唯一,有序(插入顺序)的对象

Set 接口存储一组唯一,无序的对象

Map接口存储一组键值对象,提供key到value的映射

ArrayList

什么是ArrayList

是大小可变的数组的实现,存储在内的数据称为元素。此类提供一些方法来操作内部存储 的元素。 ArrayList 中可不断添加元素,其大小也自动增长。遍历元素和随机访问元素效率较高

常用方法和遍历

对于元素的操作,基本体现在——增、删、查。常用的方法有:
方法名说 明
boolean add(Object o)在列表的末尾顺序添加元素 起始索引位置从0开始
**void add(**int index,Object o)在指定的索引位置添加元素。索引位置必须介于0和列表中元素个数之间
int size()返回列表中的元素个数
**Object get(**int index)返回指定索引位置处的元素。取出的元素是Object类型,使用前需要进行强制类型转换
boolean contains(Object o)判断列表中是否存在指定元素
boolean remove(Object o)从列表中删除元素
Object remove(int index)从列表中删除指定位置元素,起始索引位置从0开始
创建类

public class Text4 {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    private String type;

    public Text4(String name, String type){
        this.name=name;
        this.type=type;
    }
    public String toString() {
        return "Text2{" +
                "名字='" + name + '\'' +
                ", 种类='" + type + '\'' +
                '}';
    }
}

创建ArrayList对象并赋值

		  Text4 dog1 = new Text4("旺财","中华田园犬");
        Text4 dog2 = new Text4("妮妮","拉布拉多");
        Text4 dog3 = new Text4("二哈","哈士奇");
        List lis = new ArrayList();
        lis.add(dog1);
        lis.add(dog2);
        lis.add(0,dog3);    //在下标为0的位置添加dog3,其余索引号往后重新排列

使用for循环遍历

for (int i = 0; i < lis.size(); i++) {      //size() 获取集合的长度
            Object obj = lis.get(i);       //获取下标的值
            Text4 text4 = (Text4) obj;  //拆箱,object 转为Text
            System.out.println(text4.toString());
        }

使用增强for循环遍历

//foreach遍历
for(Object object :lis){
	System.out.println(((Text4)object).toString()); //拆箱并打印
  	}

删除remove

lis.remove(dog2);       //指定对象删除
lis.remove(0);      //指定下标删除

contains()判断对象是否存在于该集合

if(lis.contains(dog2)){     //dog2是否存在于lis集合中
    System.out.println("存在");
        }else {
           System.out.println("不存在");
        }

LinkedList集合

LinkedList采用链表存储的方式,插入、删除元素时效率较高,可以在集合的头部中部尾部添加、获取、删除对象

方法名说 明
void addFirst(Object o)在列表的首部添加元素
void addLast(Object o)在列表的末尾添加元素
Object getFirst()返回列表中的第一个元素
Object getLast()返回列表中的最后一个元素
Object removeFirst()删除并返回列表中的第一个元素
Object removeLast()删除并返回列表中的最后一个元素

LinkedList的使用上与ArrayList没有太大的区别,不过添加了几个额外的方法

//创建LinkedList对象
LinkedList lis = new LinkedList();
Text2 dog1 = new Text2("旺财","中华田园犬");
Text2 dog2 = new Text2("妮妮","拉布拉多");
Text2 dog3 = new Text2("二哈","哈士奇");

在头部添加和尾部添加

lis.addLast(dog3);
lis.add(dog2);
lis.addFirst(dog1);

头部删除和尾部删除

lis.removeFirst();      //删除第一个
lis.removeLast();       //删除最后一个
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值