三亚网站建设品牌,公司网站如何做seo,自己做的网站可以发布吗,app开发的流程Java List 用法详解及实例分析Java中可变数组的原理就是不断的创建新的数组#xff0c;将原数组加到新的数组中,下文对Java List用法做了详解。List:元素是有序的(怎么存的就怎么取出来#xff0c;顺序不会乱)#xff0c;元素可以重复(角标1上有个3#xff0c;角标2上也可以…Java List 用法详解及实例分析Java中可变数组的原理就是不断的创建新的数组将原数组加到新的数组中,下文对Java List用法做了详解。List:元素是有序的(怎么存的就怎么取出来顺序不会乱)元素可以重复(角标1上有个3角标2上也可以有个3)因为该集合体系有索引ArrayList底层的数据结构使用的是数组结构(数组长度是可变的百分之五十延长)(特点是查询很快但增删较慢)线程不同步LinkedList底层的数据结构是链表结构(特点是查询较慢增删较快)Vector底层是数组数据结构 线程同步(数组长度是可变的百分之百延长)(无论查询还是增删都很慢被ArrayList替代了)List特有的方法凡是可以操作角标的方法都是该体系特有的方法boolean add(int index, E element)boolean addAll(index,Collection)public static void List_add(){ArrayList a1 new ArrayList();a1.add(java);a1.add(php);//List集合中的元素可以重复a1.add(.net);System.out.println(原集合a1);a1.add(1, Flash);a1.add(0, ps);System.out.println(a1);ArrayList a2 new ArrayList();a2.add(javascript);a2.add(3dMax);a2.add(IBM);a1.addAll(0, a2);System.out.println(a1);}删除指定位置的元素boolean remove(int index)public static void List_remove(){ArrayList a1 new ArrayList();a1.add(javascript);a1.add(php);a1.add(flash);System.out.println(原集合a1);a1.remove(0);System.out.println(a1);}修改指定角标的元素 set(int index, E element) 返回的是修改的那个元素public static void List_set() {ArrayList a1 new ArrayList();a1.add(javascript);a1.add(php);a1.add(.net);System.out.println(原集合a1);a1.set(1, falsh);System.out.println(a1);}查get(int index) 返回列表中指定位置的元素subList(int fromIndex, int toIndex) 返回列表中指定的 fromIndex(包括 )和 toIndex(不包括)之间的部分元素。public static void List_get() {ArrayList a1 new ArrayList();a1.add(java);a1.add(php);a1.add(flash);System.out.println(a1.get(0));//获取指定角标的元素有了该方法就可以遍历该集合中的所有元素System.out.println(a1.subList(1, 3));//获取集合中某一部分的元素,包含头不包含尾}List集合特有的迭代器:ListIterator(是Iterator的子接口)注意在迭代时是不可以通过集合对象的方法操作集合中的元素因为会发生ConcurrentModificationException异常(并发异常)所以在迭代器时只能用迭代器的方法造作元素因为Iterator方法是有限的所以只能对元素进行判断取出删除的操作如果想要其他的操作如添加修改等就需要使用其子接口ListIterator 该接口只能通过List集合的listIterator方法获取public class ListIteratorDemo {public static void main(String[] args) {ArrayList a1 new ArrayList();a1.add(java01);a1.add(java02);a1.add(java03);a1.add(java04);System.out.println(原集合是a1);/*在迭代过程中准备添加或者删除元素Iterator it al.iterator();while (it.hasNext()){Object obj it.next();if (obj.equals(java02))//al.add(java008);//会出现并发异常因为迭代器正在操作集合不能再用集合的方法操作集合了it.remove();//将java02的引用从集合中删除了System.out.println(obj:obj);}*///只有List的listIterator有增删改查这些功能因为只有List有索引ListIterator li a1.listIterator();while (li.hasNext()){if(li.next().equals(java02))//li.add(java009);li.set(java006);}}}Vector:枚举就是Vector特有的取出方式跟迭代器很像(其实枚举和迭代是一样的) 已经被迭代器取代public class VectorDemo {public static void main(String[] args) {Vector v new Vector();v.add(java01);v.add(java02);v.add(java03);v.add(java04);for(Enumeration en v.elements();en.hasMoreElements();){System.out.println(en.nextElement());}}}LinkedList特有方法addFirst();在头部添加元素addLast();在尾部添加元素getFirst(); getLast();获取元素但不删除元素。如果集合中没有元素会出现NoSuchElementExceptionremoveFirst(); removeLast();获取元素但是删除元素。如果集合中没有元素会出现NoSuchElementException在JDK1.6出现了替代方法offerFirst(); offerLast();peekFirst(); peekLast(); 获取元素但是元素不被删除。如果集合中没有元素会返回nullpollFirst(); pollLast(); 获取元素但是元素被删除。如果集合中没有元素会返回nullpublic class LinkedListDemo {public static void main(String[] args) {LinkedList link new LinkedList();link.add(java01);link.add(java02);link.add(java03);link.add(java04);while(!link.isEmpty()){System.out.println((link.removeLast()));}}}以上就是对java list用法的实例详解本站关于java 的开发文章还有很多希望大家搜索参考感谢阅读希望能帮助到大家谢谢大家对本站的支持