推荐一个做淘客网站,wordpress企业cms,免费网站空间怎么做,如何让域名到网站LIST是个容器接口可以理解为动态数组#xff0c;传统数组必须定义好数组的个数才可以使用#xff0c;而容器对象无须定义好数组下标总数#xff0c;用add()方法即可添加新的成员对象#xff0c;他可以添加的仅仅只能为对象#xff0c;不能添加基本数据类型#xff0c;容器…LIST是个容器接口可以理解为动态数组传统数组必须定义好数组的个数才可以使用而容器对象无须定义好数组下标总数用add()方法即可添加新的成员对象他可以添加的仅仅只能为对象不能添加基本数据类型容器还对应get(),remove()方法来获取和删除数据成员。java中可变数组的原理就是不断的创建新的数组将原数组加到新的数组中,下文对java list用法做了详解|--List:元素是有序的(怎么存的就怎么取出来顺序不会乱)元素可以重复(角标1上有个3角标2上也可以有个3)因为该集合体系有索引|-- ArrayList底层的数据结构使用的是数组结构(数组长度是可变的百分之五十延长)(特点是查询很快但增删较慢)线程不同步|-- LinkedList底层的数据结构是链表结构(特点是查询较慢增删较快)|-- Vector底层是数组数据结构 线程同步(数组长度是可变的百分之百延长)(无论查询还是增删都很慢被ArrayList替代了)List特有的方法凡是可以操作角标的方法都是该体系特有的方法。增加代码如下boolean add(int index, E element)boolean addAll(index,Collection)boolean addAll(Collection)public static void addData(){List list1 new ArrayList();list1.add(www.yoodb.com);list1.add(www.yoodb.com);//List集合中元素可重复list1.add(yoodb.com);list1.add(com);System.out.println(输出原集合 list1);List list2 new ArrayList();list2.add(yoodb);list1.addAll(list2);System.out.println(输出变更的集合 list1);}输出原集合[www.yoodb.com, www.yoodb.com, yoodb.com, com]输出变更的集合[www.yoodb.com, www.yoodb.com, yoodb.com, com, yoodb]删除指定位置的元素如下E remove(int index);boolean remove(Object o);boolean removeAll(Collection c);public static void removeData(){List list1 new ArrayList();list1.add(www.yoodb.com);list1.add(www.yoodb.com);//List集合中元素可重复list1.add(yoodb.com);list1.add(com);System.out.println(输出原集合 list1);list1.remove(0);System.out.println(输出变更的集合 list1);}输出原集合[www.yoodb.com, www.yoodb.com, yoodb.com, com]输出变更的集合[www.yoodb.com, yoodb.com, com]修改指定角标的元素 set(int index, E element) 返回的是修改的那个元素如下public static void updateData(){List list1 new ArrayList();list1.add(www.yoodb.com);list1.add(www.yoodb.com);//List集合中元素可重复list1.add(yoodb.com);list1.add(com);System.out.println(输出原集合 list1);list1.set(1, yoodb);System.out.println(输出变更的集合 list1);}输出原集合[www.yoodb.com, www.yoodb.com, yoodb.com, com]输出变更的集合[www.yoodb.com, yoodb, yoodb.com, com]查询代码如下E get(int index);// 返回列表中指定位置的元素List subList(int fromIndex, int toIndex);// 返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分元素public static void addData(){List list1 new ArrayList();list1.add(www.yoodb.com);list1.add(www.yoodb.com);//List集合中元素可重复list1.add(yoodb.com);list1.add(com);System.out.println(输出原集合 list1);System.out.println(输出 list1.get(0));System.out.println(输出 list1.subList(0, 2));}输出原集合[www.yoodb.com, www.yoodb.com, yoodb.com, com]输出www.yoodb.com输出[www.yoodb.com, www.yoodb.com]List集合特有的迭代器:ListIterator(是Iterator的子接口),主意事项如下在迭代时是不可以通过集合对象的方法操作集合中的元素因为会发生ConcurrentModificationException异常(并发异常)所以在迭代器时只能用迭代器的方法造作元素因为Iterator方法是有限的所以只能对元素进行判断取出删除的操作如果想要其他的操作如添加修改等就需要使用其子接口ListIterator该接口只能通过List集合的listIterator方法获取。代码实现如下public static void addData() {List list1 new ArrayList();list1.add(www.yoodb.com);list1.add(www.yoodb.com);// List集合中元素可重复list1.add(yoodb.com);list1.add(com);System.out.println(输出原集合 list1);// 只有List的listIterator有增删改查这些功能因为只有List有索引ListIterator li list1.listIterator();while (li.hasNext()) {if (li.next().equals(www.yoodb.com))li.set(yoodb);}System.out.println(输出变更集合 list1);}输出原集合[www.yoodb.com, www.yoodb.com, yoodb.com, com]输出变更集合[yoodb, yoodb, yoodb.com, com]