publicclassMyListDemo{publicstaticvoidmain(String[] args){
List<String> list =newArrayList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");//method1(list);//method2(list);//method3(list);//method4(list);}privatestaticvoidmethod4(List<String> list){
String s = list.get(0);
System.out.println(s);}privatestaticvoidmethod3(List<String> list){// E set(int index,E element) 修改指定索引处的元素,返回被修改的元素//被替换的那个元素,在集合中就不存在了.
String result = list.set(0,"qqq");
System.out.println(result);
System.out.println(list);}privatestaticvoidmethod2(List<String> list){// E remove(int index) 删除指定索引处的元素,返回被删除的元素//在List集合中有两个删除的方法//第一个 删除指定的元素,返回值表示当前元素是否删除成功//第二个 删除指定索引的元素,返回值表示实际删除的元素
String s = list.remove(0);
System.out.println(s);
System.out.println(list);}privatestaticvoidmethod1(List<String> list){// void add(int index,E element) 在此集合中的指定位置插入指定的元素//原来位置上的元素往后挪一个索引.
list.add(0,"qqq");
System.out.println(list);}}
4. List集合的实现类
4.1 List集合子类的特点
ArrayList集合
底层是数组结构实现,查询快、增删慢
LinkedList集合
底层是链表结构实现,查询慢、增删快
4.2 ArrayList集合
ArrayList集合的底层数据结构是数组
该集合常用方法即为List集合的方法
4.3 LinkedList集合
该集合的底层数据结构为链表
特有方法
方法名
说明
public void addFirst(E e)
在该列表开头插入指定的元素
public void addLast(E e)
将指定的元素追加到此列表的末尾
public E getFirst()
返回此列表中的第一个元素
public E getLast()
返回此列表中的最后一个元素
public E removeFirst()
从此列表中删除并返回第一个元素
public E removeLast()
从此列表中删除并返回最后一个元素
示例代码
publicclassMyLinkedListDemo4{publicstaticvoidmain(String[] args){
LinkedList<String> list =newLinkedList<>();
list.add("aaa");
list.add("bbb");
list.add("ccc");// public void addFirst(E e) 在该列表开头插入指定的元素//method1(list);// public void addLast(E e) 将指定的元素追加到此列表的末尾//method2(list);// public E getFirst() 返回此列表中的第一个元素// public E getLast() 返回此列表中的最后一个元素//method3(list);// public E removeFirst() 从此列表中删除并返回第一个元素// public E removeLast() 从此列表中删除并返回最后一个元素//method4(list);}privatestaticvoidmethod4(LinkedList<String> list){
String first = list.removeFirst();
System.out.println(first);
String last = list.removeLast();
System.out.println(last);
System.out.println(list);}privatestaticvoidmethod3(LinkedList<String> list){
String first = list.getFirst();
String last = list.getLast();
System.out.println(first);
System.out.println(last);}privatestaticvoidmethod2(LinkedList<String> list){
list.addLast("www");
System.out.println(list);}privatestaticvoidmethod1(LinkedList<String> list){
list.addFirst("qqq");
System.out.println(list);}}
5. Set集合
5.1 概述和特点
不可以存储重复元素
没有索引,不能使用普通for循环遍历
5.2 Set集合的使用
存储字符串并遍历代码实现
publicclassMySet1{publicstaticvoidmain(String[] args){//创建集合对象
Set<String> set =newTreeSet<>();//添加元素
set.add("ccc");
set.add("aaa");
set.add("aaa");
set.add("bbb");// for (int i = 0; i < set.size(); i++) {// //Set集合是没有索引的,所以不能使用通过索引获取元素的方法// }//遍历集合
Iterator<String> it = set.iterator();while(it.hasNext()){
String s = it.next();
System.out.println(s);}
System.out.println("-----------------------------------");for(String s : set){
System.out.println(s);}}}