List集合的特有API,以及List的四种遍历方式小结及异同
一、特点分为:ArrayList 和LinkedList ;均有序,可重复,有索引二、特有API缘由:List集合因为支持索引,所以多了很多索引操作的独特API,其他Collection的功能List也都继承了(1)Array的特有APIpackage List.API;public class ArrayListDemo {public static void main(String[] arg
·
目录:
一、特点
二、特有API
三、四种遍历方式
一、特点
分为:ArrayList 和LinkedList ;均有序,可重复,有索引
二、特有API
缘由:List集合因为支持索引,所以多了很多索引操作的独特API,其他Collection的功能List也都 继承了
(1)Array的特有API
package List.API;
public class ArrayListDemo {
public static void main(String[] args) {
//1.创建一个ArrayList的集合对象
//List: 有序,可重复,有索引的
java.util.ArrayList<String> list = new java.util.ArrayList<>();
list.add("名");
list.add("之");
list.add("以");
list.add("父");
System.out.println(list);//[名, 之, 以, 父]
//2.在某个索引位置处插入元素
list.add(2,"Java");
System.out.println(list);//[名, 之, Java, 以, 父]
//3.根据索引删除元素,返回被删除的元素值
System.out.println(list.remove(2));//Java
System.out.println(list);//[名, 之, 以, 父]
//4.根据索引获取元素:public E get(int index):返回集合中指定位置的元素
System.out.println(list.get(2));//以
//5.修改索引位置处的元素:public E set (int index , E element)
//返回修改前的数据
System.out.println(list.set(1,"wu"));//之
System.out.println(list);//[名, wu, 以, 父]
//list.clear();
}
}
(2)LinkedList的特有API
package List.API;
import java.util.LinkedList;
public class LinkedListDemo {
public static void main(String[] args) {
//栈
LinkedList<String> stack = new LinkedList<>();
//入栈,压栈
stack.addFirst("第一颗子弹");//addFirst == push 换个包装而已
stack.push("第二颗子弹");
stack.addFirst("第三颗子弹");
stack.addFirst("第四颗子弹");
System.out.println(stack);//[第四颗子弹, 第三颗子弹, 第二颗子弹, 第一颗子弹]
//出栈,弹栈
System.out.println(stack.removeFirst());//第四颗子弹-----removeFirst == pop 换包装
System.out.println(stack.pop());//第三颗子弹
System.out.println(stack.removeFirst());//第二颗子弹
System.out.println(stack);//[第一颗子弹]
System.out.println("---------------------------");
//队列
LinkedList<String> queue = new LinkedList<>();
//入队
queue.addLast("1号");
queue.addLast("2号");
queue.addLast("3号");
queue.addLast("4号");
System.out.println(queue);//[1号, 2号, 3号, 4号]
//出队
System.out.println(queue.removeFirst());//1号
System.out.println(queue.removeFirst());//2号
System.out.println(queue.removeFirst());//3号
System.out.println(queue);//[4号]
}
}
三、四种遍历方式
(1)迭代器
(2)增强for循环
(3)Lambda表达式
(4)for循环(因为List集合存在索引)
package List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class traverse {
public static void main(String[] args) {
List<String> lists = new ArrayList<>();
lists.add("java1");
lists.add("java2");
lists.add("java3");
lists.add("java4");
/**
* (1)for循环
*/
System.out.println("----------------------------");
for (int i = 0; i < lists.size(); i++) {
String ele = lists.get(i);
System.out.println(ele);
}
/**
* (2)迭代器
*/
System.out.println("----------------------------");
Iterator<String> it = lists.iterator();
while(it.hasNext()){
String ele = it.next();
System.out.println(ele);
}
/**
* (3)foreach
*/
System.out.println("----------------------------");
for (String ele : lists) {
System.out.println(ele);
}
/**
* JDK8 之后的Lambda 的表达式
*/
System.out.println("----------------------------");
lists.forEach( s-> {
System.out.println(s);
});
}
}
四种遍历方式的异同
(1)在遍历数据时没有区别
(2)若希望知道遍历到哪了,可以选择使用for循环
(3)除了for循环外,另外三种循环都是从头遍历到尾的
更多推荐
已为社区贡献1条内容
所有评论(0)