java集合数组(collection ,List,ArrayList,LinkedList)

集合数组

ArrayList<>

特点:提供了一个储存空间可变的数组
对于ArrayList来说,有一个尖括号代表泛型。
泛型:也就是装在集合当中的所有元素,全都是统一的什么类型,String类,int类,或者自定义类

//person类自己定义的
ArrayList<Person> array = new ArrayList<Person>();

导包:java.util.ArrayList
构造方法:
(1)

public ArrayList()//创建一个空的集合对象,一般可不写
public ArrayList(int index,element)

构造和添加方法

public class ArrayList_test{
	public static void main(String [] args){
		//创建一个实力化对象
		ArrayList<String> array =new ArrayList<Sting>();
		//添加元素1
		array.add("cat");
		array.add("dog");
		//添加方式二
		array.add(1,"cat");
		array.add(2,"dog");//如果直接到(4,“dog”)就会报错
		System.out.println("输出:"+array);
	}
}

ArrayList常用方法

1、add(Object element): 向列表的尾部添加指定的元素。

2、size(): 返回列表中的元素个数。`

System.out.println(array.size());

3、get(int index): 返回列表中指定位置的元素,index从0开始。

4、add(int index, Object element): 在列表的指定位置插入指定元素。

5、set(int i, Object element): 将索引i位置元素替换为元素element并返回被替换的元素。

array.set(1,"pig");
System.out.println(array);
//或者一次性
System.out.println(array.set(1,"pig"));

6、clear(): 从列表中移除所有元素。

7、isEmpty(): 判断列表是否包含元素,不包含元素则返回 true,否则返回false。

8、contains(Object o): 如果列表包含指定的元素,则返回 true。`

9、remove(int index): 移除列表中指定位置的元素,并返回被删元素。

10、remove(Object o): 移除集合中第一次出现的指定元素,移除成功返回true,否则返回false。

System.out.println(array.remove("pig"));//这样子可以直接看出它的反馈输出,
//不需要看就直接array.remove("pig")

11、iterator(): 返回按适当顺序在列表的元素上进行迭代的迭代器
*为数据容器提供了公共的操作接口,可以对数据容器进行遍历操作
[1]:hasNext();如果迭代具有更多元素,返回true。
[2]:next();返回迭代中的下一个元素

Iterator i = array.iterator();
        while (i.hasNext()){
            String n =(String)i.next();
            System.out.print(n+"\t");

遍历数组

public class ArrayList_test{
	public static void main(String [] args){
		//创建一个实力化对象
		ArrayList<String> array =new ArrayList<Sting>();
		array.add("cat");
		array.add("dog");
		//方式——
		for(int i=0;i<array.size();i++)//遍历
			System.out.println(array.get(i));
	    //方式二:使用迭代器
	    Iterator i = array.iterator();
        while (i.hasNext()){
            String n =(String)i.next();
            System.out.print(n+"\t");
        //方式三:增强for循环
        for (Object obj:array
             ) {
            System.out.print(obj+"\t");
	}
}

List集合

特点:List集合是有序集合,可以精确控制列表中的每个元素的插入位置,通过索引访问元素。
与set集合不同,允许重复的元素。
导包:java.util.ArrayList

构造和添加方法

public class List_test{
	public static void main(String [] args){
		//创建一个实力化对象
		//**如果List<String> array =new List<Sting>();是错误的**
		List<String> array =new ArrayList<Sting>();
		//添加元素1
		array.add("cat");
		array.add("cat");
		 //方式二:使用迭代器
	    Iterator i = array.iterator();
        while (i.hasNext()){
            String n =(String)i.next();
            System.out.print(n+"\t");
	}
}

List常用方法

和ArrayList常用方法,注意索引不要越界。

LinkedList

**优点:**LinkedList是一个实现了List接口和Deque接口的双端链表。LinkedList底层的链表结构使它支持高效的插入和删除操作,另外它实现了Deque接口,使得LinkedList类也具有队列的特性

缺点: 相对于ArrayList,LinkedList的随机访问集合元素时性能较差,因为需要在双向列表中找到要index的位置,再返回

Listedlist特有的方法

【1】void addFirst(E e) 将指定元素插入此列表的开头。
void addLast(E e) 将指定元素添加到此列表的结尾

【2】(1) E element() 获取但不移除此列表的头元素。
(2) E getFirst() 返回此列表的第一个元素,如果此双端队列为空,它将抛出一个异常。
( 3) E getLast() 返回此列表的最后一个元素。

【3】
(1) E poll() 获取并移除此列表的头元素(第一个元素)
【4】
(1)int lastIndexOf(Object o) 返回此列表中最后出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。
(2) int indexOf(Object o)返回此列表中首次出现的指定元素的索引,如果此列表中不包含该元素,则返回 -1。
【5】
public E removeFirst ();从列表中删除并返回第一个元素
public E removeLast ();从列表中删除并返回最后个元素

【6】
【6】
(1) E pop() 从此列表所表示的堆栈处弹出一个元素。即返回并且移除这个元素
(2)void push(E e) 将元素推入此列表所表示的堆栈

Java中List和ArrayList的区别

List是一个接口,接口的方法是抽象的,不能实例化,而ArrayList是List接口的一个实现类,ArrayList类继承并实现了List接口,List list = new ArrayList();这句创建了一个ArrayList实现类的对象后把它上溯到了List接口

尽量使用List list = new ArrayList(),而不用ArrayList alist = new ArrayList()呢?
List接口有多个实现类,现在你用的是ArrayList,可能需要换成其它的实现类,如LinkedList,这时你只要改变这一行就行了: List list = new LinkedList(); 其它使用了list地方的代码根本不需要改动。

补充(接口方式创建类的对象)

与用类创建类的对象的方式相似,只是将第一个类名改为接口名。即class List implements Arraylist

List list = new ArrayList();
接口名 对象名 =new 类名()

注: 用接口方式创建的类的对象,只能用对象名.方法名 访问接口中定义的方法,不能访问类中自己定义的属性和方法以及接口中的属性。

collection集合

【1】是单列集合的顶层接口,表示一组对象
【2】jdk不提空此接口的任何实现,提供具体的子接口set和list实现

创建collection 对象
多态方式:collection = new arrayList();上面已经讲过了

collection方法

同Array List方法;

set集

特点:不包含重复元素,不能嗲索引的方法,不能使用普通for循环遍历
hashSet :对对象的迭代顺序不能保证;

创建集合对象:

Set<String> set = new HashSet<Stirng>();
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gun_wqy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值