java学习第十四周
1.迭代器(Iterator):
Iterator只能单向移动。
1)使用方法inerator()要求容器返回一个Iterator。Iterator 将准备好返回序列的第一个元素。
2)使用next()获得序列的下一个元素。
3)使用hasNext()检查序列中是否还有元素。
4)使用remove()将迭代器新返回的元素删除。
collection<string> c1=new Linklist<>(); collection<string> c=new Arraylist<>(); c. add("aaa"); c. add("bbb"); c. add("ccc"); c1.add("fff"); c1.add("ccc"); System. out. println(c); //相当于c. tostring() object[ ] obj=c. toArray();//转换为字符串 System. out. println(objs); System. out. println(c.contains("bbb"));//c中是否包含"bbb" for(string i:c) System. out. println(i+" ");//for-each输出 Interator it =c. interator( );//获得迭代器 while(it.hasNext()) {System. out. println(it.next()+" ");//输出容器所有内容。 }
Arraylist 底层是用数组实现的存储。特点:查询效率高、增删效率低、线程不安全。
若要增删高效率 ,用Linklist。
若要线程安全,用vector。
List 有序可重复。(这里的重复指满足e1.equals(e2))
List <String> l1=new ArrayList<>();
l1.add(0,"aaa");
l1.add(1,"bbb");
l1.add(2,"ccc");//**必须按顺序完成容器元素添加**
l1.add("aaa");
l1.set(2,"eee");//替换第二个位置
System. out. println(l1.get(2));//获取第二个元素位置内容
System. out. println(l1.indexof("aaa"));获取第一次出现“aaa”元素的下标
System. out.println(l1.lastIndexof("aaa"));//获取最后一次出现“aaa”元素的下标
ArrayList 扩容:int newcapacity=oldcapcity+(oldcapcity>>1)
Map 是用来存储“键—值”对的
class sno{
int no;
构造器;
eauals()方法;
}
class student{
String name;
构造器;
toString()方法;
}
public static void main(String[] args){
Map<sno,student> m=new HashMap<>();
m. put(new sno(1),new student("张三"));
System.out.println(m.get(new sno(1)));
}