list接口

list接口

特点:List接口存储一组不唯一、有序的对象;

list接口的子类:Arraylist     Linkedlist

     Arraylist实现了数组长度可变的数组,在内存空间分配连续的空间,

                  遍历元素和随机访问元素的效率高;

     Linkedlist采用链表的存储方式,

                  插入和删除元素的效率比较高;

Arraylist接口的常用方法:

            boolean add(Object o)               在列表的末尾顺序添加元素,起始索引位置从0开始

            void add(int index,Object o)       在指定的位置添加元素

            int size()                                      返回列表中元素的个数

            Object(int index)                         返回指定索引位置处的元素

            boolean contains(Object o)        判断列表中是否存在指定元素

            boolean remove(Object o)          从列表中删除元素

            Object remove(int index)             从列表中删除指定位置元素,气死索引位置从0开始

         狗狗类

     

        测试类

import java.util.ArrayList;
public class TestDog {
/**
* list 存储一组不唯一、有序的对象
*/
public static void main(String[] args) {
  //1.创建对象
  Dog ou =new Dog("欧欧","雪纳瑞");
  Dog ya =new Dog("亚亚","拉布拉多");
  Dog fei =new Dog("菲菲","拉布拉多");
  Dog mei =new Dog("美美","雪纳瑞");
  ou.show();
  //2.创建集合对象
  ArrayList list =new ArrayList(); //ArrayList
  //3.测试常用方法
  list.add(mei);
  list.add(fei);
  list.add(2,ya);
  //size() 返回列表数据个数
  System.out.println(list.size());
  System.out.println("==================");
  //循环遍历动态数组
  for(int i=0;i<list.size();i++){
    Dog dog=(Dog)list.get(i);//强制转换
    System.out.println(dog.getName()+" "+dog.getStrain());
  }
  System.out.println("====================");
  //增加某个对象
    System.out.println("增加对象---");
  list.add(0,ou);
  for(int i=0;i<list.size();i++){
  Dog dog=(Dog)list.get(i);//强转
  System.out.println(dog.getName()+" "+dog.getStrain());
}
  //判断是否存在某个元素
  System.out.println("=======================");
  boolean flag=list.contains(ou);
  System.out.println(flag);
  System.out.println("=========================");
  // 删除某个元素
  System.out.println("删除某个对象---");
  list.remove(0);
  //list.remove(mei);
  for(int i=0;i<list.size();i++){
  Dog dog=(Dog)list.get(i);
  System.out.println(dog.getName()+" "+dog.getStrain());
}
}
}

  LinkedList的特殊方法:

void addFirst(Object o)        在列表的首部添加元素

viod addLast(Object o)         在列表的末尾添加元素

Object getFirst()                   返回类表中的第一个元素

Object getLast()                   返回列表中的最后一个元素

Object removeFirst()            删除并返回列表中的第一个元素

Object removeLast()            删除并返回列表中的第一个元素

public class TestDog {
public static void main(String[] args) {
//1.创建对象
Dog ou =new Dog("欧欧","雪纳瑞");
Dog ya =new Dog("亚亚","拉布拉多");
Dog fei =new Dog("菲菲","拉布拉多");
Dog mei =new Dog("美美","雪纳瑞");
ya.show();
//创建集合对象
LinkedList list =new LinkedList<>(); //LinkedList
list.addFirst(mei);
list.addLast(fei);
list.add(ya);
//size()
System.out.println(list.size());
//增加
list.addFirst(ou);
for(int i=0;i<list.size();i++){
Dog dog=(Dog)list.get(i);
System.out.println(dog.getName()+" "+dog.getStrain());
}
//删除列表中的元素
System.out.println("==========================");
list.removeFirst();
//返回列表中的远元素
System.out.println("====================");
Dog dog=(Dog)list.getFirst();
System.out.println(dog.getName()+" "+dog.getStrain());
Dog dog1=(Dog)list.get(2);
System.out.println(dog1.getName()+" "+dog1.getStrain());
}
}

原文地址:https://www.cnblogs.com/gnos/p/12960595.html