List属于线性结构,是属于有序重复的(序理成序号);
常用实现类:
ArrayList: 底层使用数组实现属于顺序存储,因为是使用数组所以查找是非常方便的,但是添加删除比较麻烦因为添加一个后面的都会向后移一个,删除也是一样删除的那一个后面都会向前移一位所以这个不适用在数据量大的程序中使用
LinkedList:底层使用链表实现属于链式存储,这个存储方式 ,跟ArrayList的特性恰恰相反,查找没上面方便,但是添加删除比ArrayList方便不用一个一个的去移动,理论上来说可以无线存储或删除。
//先声明
List<指定泛型> list=new ArrayList();
//基本使用方法:
//添加;
list.add("abc");
list.add("abc");
//删除同样的只能删除最前面的;
list.remove("abc");
//判断是否包含某个元素;
System.out.println(list.contains("abc"));
//判断内容是否为空;
System.out.println(list.isEmpty());
//判断元素个数,如果有相同元素就只算做一个元素;
System.out.println(list.size());
//获得指定元素的下标,有重复的就只获取最前面的下标;
System.out.println(list.indexOf("abc"));
//最后一次出现的下标,如果重复的挨在一起就还是最前面的;
System.out.println(list.lastIndexOf("abc"));
//自动按照字典排序,重复只出现一次;
Collection sort=list;