【Java】ArrayList 和 LinkedList 的使用

一. ArrayList

1.  ArrayList 的数据结构是可变长度的数组,元素有序且可重复的。在 Java API 中可以查找 ArrayList 的相关方法。https://docs.oracle.com/javase/7/docs/api/icon-default.png?t=LA92https://docs.oracle.com/javase/7/docs/api/

2. ArrayList 的使用

// (1) ArrayList 定义及添加元素
ArrayList<String> al = new ArrayList<String>();
al.add("one");
al.add("two");
al.add("three");
al.add("one");
al.add("one");

// (2) allAll 添加另一个集合
ArrayList<String> al2 = new ArrayList<String>();
al2.add("1");
al2.add("2");
al2.add("3");

// (3)遍历元素,可以使用 for 循环进行遍历
for(String e:al){
	System.out.println(e);
}

// (4) 判断是否包含一个元素 contains
boolean b1 = al.contains("two");
System.out.println(b1);

// (5) containsAll 判断包含是否一个集合
boolean b2 = al.containsAll(al2);
System.out.println(b2);

// (6) size 获得 ArrayList 的大小, get() 根据下标获得元素
int size = al.size();
for(int i=0;i<size;i++){
	System.out.println(al.get(i));
}

// (7) 用迭代器 Iterator 遍历
Iterator<String> it = al.iterator();
while(it.hasNext()){
	System.out.println(it.next());
}

// (8) 删除 remove
al.remove("1");     // 删除元素
al.remove(2);       // 根据索引删除
al.removeAll(al2);  // 删除a1中的a12的集合
al.clear();         // 清空

// (9) 判断是否为空  isEmpty
boolean b3 = al.isEmpty();

二. LinkedList

1. LinkedList 的数据结构是一个链表,双向链表,实现了 List 接口和 Deque 接口。

LinkedList 的 api 可以在这个 Java api 文档中查找。

Java Platform SE 7 icon-default.png?t=LA92https://docs.oracle.com/javase/7/docs/api/2.  LinkedList 的使用

// (1) 定义 LinkedList 
LinkedList<String> ll = new LinkedList();

// (2)添加元素
ll.add("one");
ll.add("two");
ll.add("three");
ll.add("one");

// (3) 遍历 
for(String e:ll){
	System.out.println(e);
}

// (4) 通过 size() 方法获得大小,通过下标索遍历
int size = al.size();
for(int i=0;i<size;i++){
	System.out.println(al.get(i));
}

// (5) 包含 contains
boolean b = al.contains("two1");
System.out.println(b);
b = al.containsAll(al2);
System.out.println(b);

// (6) 删除,除了跟 ArrayList 相同的 remove 操作外,还有下面删除第一个和最后一个的操作
ll.removeFirst(); //删除第一个
ll.removeLast();  //删除最后一个

// (7) 出栈入栈,后进先出
ll.push("1");   // 入栈 push()
System.out.println("--"+ll.pop());  // pop() 出栈

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值