void add(index,ele);
boolean allAll(index,Collection);
int indexOf(obj);
int lastIndexOf(obj);
object remove(index);
Object set(index,ele);
List subList(fromIndex,toIndex);
形参长度可变的参数
public static void main(String[] args) {
test("aa","bb","cc","dd");
test(new String[]{"1","2"});
List list = Arrays.asList("a","b","c");
}
List list = new ArrayList();
List list2 = Collections.synchronizedList(list);//线程安全
List<Person> list = new ArrayList<Person> ();
list.add(new Person("name1",11));
list.add(new Person("name2",10));
Collections.sort(list,new Comparator(){
@Override
public int compare(Object obj1, Object obj2) {
if(obj1 instanceof Person && obj2 instanceof Person ){
Person p1 = (Person) obj1;
Person p2 = (Person) obj2;
return p1.getAge()-p2.getAge();
}
throw new ClassCastException();
}
});
Set<Person> persons =new TreeSet<Person>(new Comparator<Person>(){
@Override
public int compare(Person p1, Person p2) {
return p1.getAge()-p2.getAge();
}
});
Object[] objs = new Object[10];
Person[] personss = new Person[10];
//相等,Object是Persion的父亲,Object数组也是Persion数组的父类
objs = personss;
List<Object> objList = new ArrayList();
List<Person> personList = new ArrayList();
//相等,Object是Person的父亲,Object List 却不是Person List的父类
//objList!=persionList;
//通配符的泛型声明。只要存在通配符,写入就是非法的
public void print(List<? extends Person> persons){
}
//要求传入的参数必须是Persion
public void print2(List<Person> persons){
}
//在类中使用泛型方法
//在方法的返回值使用<>前面声明泛型类型,则在方法的参数,方法体中都可以使用该泛型
//第二个E代表返回值也是泛型
public <E> E getProperty(int id, E obj){
E result = null;
return result;
}
Collection<Person> co = new ArrayList<Person>();
co.add(new Person());
co.add(new Person());
co.add(new Person());
co.add(new Person());
Map<String,Person> map = new HashMap<String,Person> ();
map.put("name1", new Person("name1",10));
map.put("name2", new Person("name2",80));
map.put("name3", new Person("name3",20));
for(Map.Entry<String, Person> entry : map.entrySet()){
String key = entry.getKey();
Person person = entry.getValue();
}
Set<String> set = map.keySet();
Iterator<String> it = set.iterator();
while(it.hasNext()){
String key = it.next();
Person person = map.get(key);
}
泛型:泛型类,泛型方法
泛型类:类或者接口名称后使用<T>,凡类中需要用到泛型的地方都能用
泛型方法:泛型方法可以不在泛型类中
基本的Annotation
@Override,@Deprecated,@suppressWarnings
//jdk的元注解
@Retention(RetentionPolicy.RUNTIME)
public @interface Hello{
//注解的属性
String major();
int age();
String school()default "name";