【7】List集合 list集合特点 list接口中方法 ArrayList LinkedList接口的方法 Vector集合

List集合

Java.util.List

List特点:

  1. 有序的集合,存储元素和取出元素的顺序是一致的
  2. 有索引,包含了一些带索引的方法
  3. 允许存储重复的元素

List接口中带索引的方法

注意:操作索引的时候,一定防止索引越界异常

        /*
	 * public void add(int index, E element) : 将指定的元素,添加到该集合中的指定位置上。
	 * public E get(int index) :返回集合中指定位置的元素。 
	 * public E remove(int index) : 移除列表中指定位置的元素, 返回的是被移除的元素。
	 * public E set(int index, E element) :用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
	 * */
	public static void main(String[] args) {
		
		List<String> l = new ArrayList<>();
		l.add("张三");
		l.add("赵四");
		l.add("王五");
		l.add("张三");
		System.out.println(l);//[张三, 赵四, 王五, 张三] 重写了toString方法

		/*
		 * * public void add(int index, E element) : 将指定的元素,添加到该集合中的指定位置上。
		 * */
		l.add(2, "A");//在赵四和王五之间添加一个A  
		System.out.println(l);//[张三, 赵四, A, 王五, 张三]
		
		/*
		 * public E remove(int index) : 移除列表中指定位置的元素, 返回的是被移除的元素。
		 * */
		l.remove(4);
		System.out.println(l);//[张三, 赵四, A, 王五]
		
		
		/*
		 * public E set(int index, E element) :用指定元素替换集合中指定位置的元素,返回值的更新前的元素。
		 * */
		l.set(2, "B");//将A元素换成B元素
		System.out.println(l);//[张三, 赵四, B, 王五]
		
		/*
		 * public E get(int index) :返回集合中指定位置的元素。 
		 * */
		String string = l.get(2);
		System.out.println(string);
		
		/*
		 * list集合带有索引 所以有三种遍历list集合的方法
		 * */
		System.out.println("====方法一======");
		
		for(int i=0;i<l.size();i++){
			String c = l.get(i);
			System.out.println(c);
		}
		System.out.println("=====方法二======");
		Iterator<String> iterator = l.iterator();
		while (iterator.hasNext()) {
			String next = iterator.next();
			System.out.println(next);
		}
		System.out.println("=====方法三======");
		for (String string2 : l) {
			System.out.println(string2);
		}
	}

ArrayList

java.util.ArrayList 集合数据存储的结构是数组结构。元素增删慢,查找快

LinkedList集合

LinkedList集合特点:

  1. 底层是一个链表结构,查询慢,增删快
  2. 里面包含了大量操作首尾元素的方法

注意:使用LinkedList集合特点有的方法,不能使用多态(方法是集合所特有的 )

/*
 * public void addFirst(E e) :将指定元素插入此列表的开头。 
 * public void addLast(E e) :将指定元素添加到此列表的结尾。 
 * public E getFirst() :返回此列表的第一个元素。 
 * public E getLast() :返回此列表的最后一个元素。 
 * public E removeFirst() :移除并返回此列表的第一个元素。 
 * public E removeLast() :移除并返回此列表的最后一个元素。 
 * public E pop() :从此列表所表示的堆栈处弹出一个元素。 
 * public void push(E e) :将元素推入此列表所表示的堆栈。
 * */
public class Test15 {
	public static void main(String[] args) {
		LinkedList<String> l = new LinkedList<>();
		l.add("a");
		l.add("b");
		l.add("c");
		System.out.println(l);//[a, b, c]
		
		/*
		 * public void addFirst(E e) :将指定元素插入此列表的开头。 
		 * public void push(E e) :将元素推入此列表所表示的堆栈。
		 * */
		//l.addFirst("www");
		l.push("www"); //push方法和addFirst方法一样都是在表头添加元素
		System.out.println(l);//
		
		/*
		 * public void addLast(E e) :将指定元素添加到此列表的结尾。
		 * */
		l.addLast("com");
		System.out.println(l);//[www, a, b, c, com]
		
		/*
		 * public E getFirst() :返回此列表的第一个元素。
		 * */
		String first = l.getFirst();
		System.out.println(first);
		
		
		/*
		 * public E removeFirst() :移除并返回此列表的第一个元素。 
		 * public E pop() :从此列表所表示的堆栈处弹出一个元素。
		 * */
		l.removeFirst();//删除表中第一个元素
		//String pop = l.pop();//弹出表中第一个元素   从表中删除该元素
		System.out.println(l);
		
		/*
		 *public E removeLast() :移除并返回此列表的最后一个元素。  
		 * */
		String removeLast = l.removeLast();
		System.out.println(removeLast);
		System.out.println(l);
	}
}

Vector集合

底层是数组,同步的单线程,速度慢,

猜你喜欢

转载自blog.csdn.net/dyt998/article/details/112790785
今日推荐