【无标题】

1.数组封装

1.1需求

数组操作,相对还是比较复杂的,也不能做添加和删除操作,当需要添加和删除的时候需要新建数组,复制数组,或者元素移位,比较麻烦

所以 我们对这些添加和删除操作进行封装

1.2编码

Array arr=new Array();   创建对象

System.out.println(arr.size);    元素个数

arr.add(值);    添加

arr.set(0,"张三");    更改

for(int i=0;i<arr.size();i++){

System.out.println(arr.get(i));   获取

}

arr.remove(值);   删除

2.集合

2.1概述

Java集合是使程序能够存储和操纵元素不固定的一组数据。 所有Java集合类都位于java.util包中。

如果集合中存放基本类型,一定要将其“装箱”成对应的“基本类型包装类”

2.2继承体系

 

Collection 是集合,两个直接子接口是List和set

List 特性 : 有序 可重复,保证数据的添加顺序和取出顺序一致

Set 特性 : 无序 不可重复,不能保证数据的添加和取出顺序一致

List 有三个子类 :

ArrayList : 底层是数组,查询和更改效率极高

LinkedList : 底层是双向链表,添加和删除效率要高一些

Vector : 底层也是数组,是线程安全,已废弃,不推荐使用,已被ArrayList代替

Set有两个子类:

HashSet : 底层是散列表

TreeSet : 底层是二叉树

2.3Collection

Collection作为集合类的父类,所以,collection中的方法,是所有集合类都有的方法

2.3.1使用方法

System.out.println(collection.isEmpty());   判断是否为空

System.out.println(collection.size());       已有元素个数

collection.add(1);            如果添加一个基本类型,则会进行自动装箱为对应的包装类类型,然后

collection.add("张三");     再发生多态转型为Object类型

coolection.remove("张三");     删除指定元素,不是索引,是根据数据删除

Object[] arr=collection.toArray();

for(int i=0;i<arr.length;i++){

System.out.println(arr[i]);       转换为数组

}

collection.clear();    清空集合中的数据

2.3.2Iterator

迭代器:有时又称光标,是程序设计的软件设计模式,可在容器对象上遍访的接口,设计人员无需关心容器对象的内存分配的实现细节

迭代器是一种模式,它可以使遍历和被遍历的对象分离,不用再管是什么数据类型,如何存储的

只要拿到迭代器对象,就可以进行遍历

collection中提供了一个iterator()方法,用于获取迭代器对象

    集合.iterator();

  

迭代器中有三个方法:

1.boolean hasNext():判断游标下是否还有元素,默认指向顶端,并不指向第一个元素

2.E next():将迭代器游标向下移动一位,并取出该元素

3.remove():删除当前执行的元素,会把集合中的也删除

迭代器一旦创建,集合不能添加和删除,如果添加和删除了,需要重新生成迭代器

增强for循环forEach就是迭代器的简写方式

Iterator it=c.iterator();  生成迭代器

迭代器使用完后,想要再次使用,需要重新生成

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值