Java基础_List集合
2021-07-15 22:08
                         标签:功能   add   nta   使用   效率   lin   方法   集合   检测    1.list集合的特点 2.list集合继承于Collection集合,可以使用Collection集合中的所有功能和方法,同时也有一些自己的特有方法。 	   	   如何看怎么使用? 	如果说什么看不出来,就是用ArrayList (1).ConcurrentModificationException:当方法检测到对象的并发修改,但是不允许这种修改时,就抛出异常。 (2).产生的原因: (3).解决方法:     B:集合遍历元素,集合修改元素(普通for)   6.List集合的子类的使用 (1).vector类特有的功能: 	代码实现: (2).LinkedList类     (1).list集合去重   Java基础_List集合 标签:功能   add   nta   使用   效率   lin   方法   集合   检测    原文地址:https://www.cnblogs.com/nwxayyf/p/9535765.html
List集合
  list集合中的元素有序(存储和取出来的元素是一致的,就是说你之前使用什么元素存储进去,你使用以后输出来元素还是一样的),元素是可以
  重复的。
  (1).添加功能:
      void add(int index,Object element):在指定位置添加元素
  (2).获取功能:
      Object get(int index):获取指定位置的元素
  (3).列表迭代器:
      ListIterator listIterator():List集合特有的迭代器
  (4).删除功能:
      Object remove(int index):根据索引删除元素,返回被删除的元素
  (5).修改功能:
      Object set(int index,Object obj):根据元素索引修改元素,返回被修改的元素
3.list集合使用测试_list集合存储自定义对象并遍历
  代码:
  public class Test {
	public static void main(String[] args) {
    Student s1=new Student(10,"张三");
    Student s2=new Student(11,"李四");
    Student s3=new Student(12,"王五");
    List
    lt.add(s1);
    lt.add(s2);
    lt.add(s3);
    //遍历方法1:使用迭代器遍历
    Iterator
    while (ltIterator.hasNext()) {
    	Student st=ltIterator.next();
    	System.out.println(st.getAge()+"------"+st.getName());
	}
    System.out.println("---------------");
    //方法2:使用for循环
    for(int i=0;i
    	System.out.println(s.getAge()+"-------"+s.getName());
    }
	}	
    }
	//输出结果
	10------张三
    11------李四
    12------王五
    ---------------
    10-------张三
    11-------李四
    12-------王五
4.list集合的是三个子类
  ArrayList:
    底层结构是数组,查询快,增删慢
	线程不安全,效率高
  Vector:
    底层结构是数组,查询快,增删慢
	线程安全,效率高
  LinkedList
    底层结构是链表,查询慢,增删快
	线程不安全,效率高
    看需求
	需要线程安全吗?
	要:就使用Vector
	不需要:ArrayList或者是linkedList
	查询多:ArrayList
	增删多:LinkedList
5.集合框架中的异常_并发修改异常以及解决方案
    迭代器是依赖于集合而存在的,在判断成功以后,集合中新添加了元素,但是这一个时候迭代器还不知道(就是说你在使用迭代器遍历的时候,
	迭代器就默认你已经往集合里面添加完元素了),所以就报错,正和一个错误叫兵法修改异常。
    A:使用迭代器迭代元素,使用迭代器修改元素
	  元素是跟在刚才迭代的元素后面的。(位置与预期不符)
	  元素在最后添加。
    添加功能:
    public void addElement(Object obj)
	获取功能:
	public Object elementAt(int index)
	public class Test {
	public static void main(String[] args) {
    Vector
    v.addElement("hello");
    v.addElement("world");
    v.addElement("java");
    //遍历
    for(int i=0;i
    	System.out.println(s);
    }
	}
    }
	//输出结果
	hello
    world
    java
   添加功能:
   public void addFirst(Object e)
   public void addLast(Object e)
   获取功能 
   public Object getFirst()
   public Object getLast()
   输出功能
   public Object removeFirst()
   public Object removeLast()
7.List集合基本操作
    代码实现:
	public class Test {
	public static void main(String[] args) {
     List
     lt.add("hello");
     lt.add("world");
     lt.add("java");
     lt.add("world");
     lt.add("java");
     lt.add("world");
     //去重
     for(int i=0;i
    			lt.remove(j);
    			j--;
    		} 
    	 }	 
     }
     //重写遍历输出
     for(String s:lt){
    	 System.out.println(s);
     }
	}
}