1.复习Collection接口及其子接口List与Set,熟悉常见子类比如ArrayList与HashSet用法。ArrayList与Vector的区别等。
List基本操作
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
public class Test{
public static void main(String[] args){
//集合中只保存String类型数据
List<String> list=new ArrayList<>();
System.out.println(list.size()+ "," +list.isEmpty());
list.add("hello");
list.add("hello");
list.add("bite");
System.out.println(list.size()+ "," +list.isEmpty());
System.out.println(list);
System.out.println(list.remove("hello"));
System.out.println(list.contains("abc"));
System.out.println(list.contains("bite"));
System.out.println(list);
//List的get()方法操作,结合索引取得数据
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
}
向List集合中保存简单java类对象
class Person{
private String name;
private Integer age;
public Person(String name,Integer age){
this.name=name;
this.age=age;
}
public String toString(){
return "Person{"+
"name='"+name+'\''+
",age="+age+
'}';
}
public boolean equals(Object o){
if(o==this)
return true;
if(o==null||getClass()!=o.getClass())
return false;
Person person=(Person) o;
return Objects.equals(name,person.name)&& Objects.equals(age,person.age);
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public Integer getAge(){
return age;
}
public void setAge(Integer age){
this.age=age;
}
}
//集合中保存简单java类对象
public class Test{
public static void main(String[] args){
List<Person> personList=new ArrayList<>();
personList.add(new Person("zn",10));
personList.add(new Person("王五",12));
personList.add(new Person("花花",35));
//集合类操作简单java类时,集合类中的 contains(),remove()方法需要equals()方法支持
personList.remove(new Person("王五",21));
System.out.println(personList.contains(new Person ("zn",10)));
for(Person p:personList){
System.out.println(p);
}
}
}
使用Vector,LinkedList
import java.util.LinkedList;
import java.util.List;
//Vector子类 LinkedList子类
public class Test{
public static void main(String[] args){
//List<String> list=new Vector<>();
List<String> list=new LinkedList<>();
list.add("hello");
list.add("hello");
list.add("bite");
System.out.println(list);
list.remove("hello");
System.out.println(list);
}
}
使用HashSet
import java.util.HashSet;
import java.util.Set;
public class Test{
public static void main(String[] args){
Set<String> set=new HashSet<>();
//Set<String> set =new TreeSet<>();
set.add("C");
set.add("C");
set.add("D");
set.add("B");
set.add("A");
System.out.println(set);
}
}
使用
2.复习集合输出的四种形式,重点掌握Iterator输出。
1、Literator:迭代器
public boolean hasNext();
public E next() ;
Iterator本身是一个接口,要想取得实例化只能依靠Collection接口中的一个操作方法:
2、双向迭代:ListLterator
右前向后或者由后向前输出,只能够为List子接口输出接口
3、foreach输出
4、Enumeration输出
3.复习Map集合及其子类,尤其是HashMap底层数据结构的实现,ConcurrentHashMap如何高效实现同步
4.复习Properties类的5大常用操作方法。
5.(编程题)
现有自定义类Person,其中有age和name属性。
在主方法中使用Person作为key,String作为value进行保存。要求使用Iterator输出Map集合。
6.数据结构
请用Java实现快速排序