javaSE List集合,有序(索引),可以存放重复元素

Collection(集合):容器,用于存放对象(引用类型。基本类型需要自动装箱)   查看
List(列表):元素有序,元素可以重复 (有索引)。 通过元素的equals()方法判断是否重复。
Set(集):元素无序,不可重复 (没有索引)。 遍历只能用Iterator迭代器和增强for, 不能使用普通for遍历。 查看
ArrayList(数组列表): 查询快,增删慢。   查看
LinkedList(链表): 查询慢,增删快。查看
HashSet(哈希表): 查询快,增删慢。 (底层其实就是Map) 。 存放的引用类型需重写hashCode()和equals()方法。 查看
LinkedHashSet(哈希链表): 查询慢,增删快。 有序的,存放顺序和取出顺序一致。 查看


Demo.java(List特有的方法,和索引相关的方法):

package cn.xxx.demo;

import java.util.ArrayList;
import java.util.List;

/*
 *  List接口派系, 继承Collection接口
 *    下面有很多实现类
 *  List接口特点: 有序,索引,可以重复元素
 *    实现类, ArrayList, LinkedList
 *    
 *  List接口中的抽象方法,有一部分方法和他的父接口Collection是一样
 *  List接口的自己特有的方法, 带有索引的功能
 */
public class Demo {
	public static void main(String[] args) {
		function_2();
	}

	public static void function_2(){
		List list = new ArrayList();
		list.add(1);
		list.add(2);
		list.add(3);
		list.add(4);
		
		Integer i = list.set(0, 5);  // 根据索引修改,返回修改之前的元素。
		System.out.println(i);
		System.out.println(list);
	}
	
	public static void function_1(){
		List list = new ArrayList();
		list.add(1.1);
		list.add(1.2);
		list.add(1.3);
		list.add(1.4);
		
		Double d = list.remove(0);  // 根据索引删除元素,返回被删除的元素。
		System.out.println(d);
		System.out.println(list);
	}
	
	public static void function(){
		List list = new ArrayList();
		list.add("abc1");
		list.add("abc2");
		list.add("abc3");
		System.out.println(list);
		
		list.add(1, "haha");  // 在指定索引上添加
		System.out.println(list);
	}
}


你可能感兴趣的:(javaSE)