集合課堂筆記(35.36)
1.用陣列儲存
Student students[] =new Student[3];
student[0] =new Student("張三",10);
student[1] =new Student("李四",10);
student[2] =new Student("王五",10);
2.List<E>集合
List是collection介面的子介面。List集合裡的元素是可以重複的
List介面的主要實現類有Arraylist 和Linkedlist
2.1Arraylist<E>
ArrayList<String> arraylist =new ArrayList<String>();
arraylist.add("張三");
arraylist.add("李四");
//將指定元素插入到列表中的指定位置 例子:將王五插到第二個位置
arraylist.add(1,"王五");
get(int index) :返回此列表中指定位置上的元素
//將指定的元素替代此列表中指定位置元素
arraylist.set(1,"小王五");
2.2 Linkedlist<E>
LinkedList<String > linkedlist= new LinkedList<String > ();
linkedlist.add("張三");
linkedlist.add("李四");
linkedlist.add("李五");
其特有的方法有:
indexof() 返回此列表中首次出現的指定元素的索引,如果此列表中不包含該元素,則返回-1
如 linkedlist.indexof("李四");
peekFirst()獲取但是不移除列表中的第一個元素,如果此列表為空,則返回NULL
peekLast()獲取但是不移除列表中的最後一個元素,如果此列表為空,則返回NULL
3.遍歷
LinkedList<Student > list= new LinkedList<Student > ();
list.add(new Student("張三",10));
list.add(new Student("李四",10))
list.add(new Student("王五",10))
使用迭代器遍歷 iterator
Iterator<Student> it=list.iterator()
while(it.hasNext()){
Student s=it.next();
System.out.println(s);
}
使用for遍歷
for( student s :list ){
System.out.println(s);
}
4.set集合是collection介面
Hashset 重要特點:1.不允許存在重複的值 2.無序的
HashSet<String> hs =new HashSet<String> ()
hs.add("232");
hs.add("25");
hs.add("22");
Iterator<String> it =hs.iterator;
while(it.hasNext()){
String s=it.next();
System.out.printIn(s);
}
5. map<k,v>
HashMap<String,Student> hashMap =new Hash<String,Student>();
hashMap .put("1號",new student("張三",10));
hashMap .put("2號",new student("王五",10));
hashMap .put("3號",new student("李四",10));
Student s =hashMap.get("1號");
//獲取Key的集合,再獲取迭代器
Iterator<String> it=hashMap.keySet().iterator()
whlie(it.hasNext()){
String key=it.next(); //獲取key
student student =hashMap.get(key) //獲取值
System.out.printIn(s)
)
6.list map set區別
1.list列表是順序存放的,可以有相同的物件,通過索引存取。
2.set集合是無序存放的,不能有重複的物件,集合無索引,只能通過遍歷存取。
3.map:存放的是鍵和值的對映,其中鍵是唯一的值,可以有重複的物件
三者聯絡和區別:三者都是介面。list和set都是單列元素的集合。list和set都是繼承了collection.而map不是