1.1 數(shù)據(jù)結(jié)構(gòu)
- 什么是數(shù)據(jù)結(jié)構(gòu)?
- 數(shù)據(jù)的組織方式.
維基百科
- 數(shù)據(jù)的組織方式.
1.1.1 常見數(shù)據(jù)結(jié)構(gòu)之棧和隊(duì)列
ArrayList.png
1.1.2常見數(shù)據(jù)結(jié)構(gòu)之?dāng)?shù)組和鏈表
ArrayList2.png
1.2 ArrayList集合的相關(guān)案例
1.2.1 List集合子類特點(diǎn)及ArrayList集合存儲字符串并遍歷
-
List:
- ArrayList:底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組,查詢快,增刪慢
- LinkedList:底層數(shù)據(jù)結(jié)構(gòu)是鏈表畦贸,查詢慢熙掺,增刪快
-
ArrayList存儲字符串并遍歷:
- 迭代器
- 普通for
- 增強(qiáng)for
1.2.1.1 案例代碼
package com.itheima_01;
import java.util.ArrayList;
import java.util.Iterator;
/*
* List:
* ArrayList:底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組流妻,查詢快吼鳞,增刪慢
* LinkedList:底層數(shù)據(jù)結(jié)構(gòu)是鏈表赏表,查詢慢氢橙,增刪快
*
* ArrayList存儲字符串并遍歷:
* A:迭代器
* B:普通for
* C:增強(qiáng)for
*/
public class ArrayListDemo {
public static void main(String[] args) {
//創(chuàng)建集合對象
ArrayList<String> array = new ArrayList<String>();
//添加元素
array.add("hello");
array.add("world");
array.add("java");
//迭代器
Iterator<String> it = array.iterator();
while(it.hasNext()){
String s = it.next();
System.out.println(s);
}
System.out.println("-------------");
//普通for
for(int x=0; x<array.size(); x++) {
String s = array.get(x);
System.out.println(s);
}
System.out.println("-------------");
//增強(qiáng)for
for(String s : array) {
System.out.println(s);
}
}
}
1.2.2 ArrayList集合的練習(xí)存儲自定義對象并遍歷
ArrayList集合存儲自定義對象并遍歷
提示:自定義一個(gè)學(xué)生類酝枢,給出成員變量name和age。遍歷集合的時(shí)候悍手,在控制臺輸出學(xué)生對象的成員變量值帘睦。
- 三種方式遍歷
- 迭代器
- 普通for
- 增強(qiáng)for
LinkedList的使用和ArrayList的相似,所以LinkedList的練習(xí)需要大家自己做
1.2.2.1案例代碼
package com.itheima_02;
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
package com.itheima_02;
import java.util.ArrayList;
import java.util.Iterator;
/*
* ArrayList集合存儲自定義對象并遍歷
* 提示:自定義一個(gè)學(xué)生類坦康,給出成員變量name和age官脓。遍歷集合的時(shí)候,在控制臺輸出學(xué)生對象的成員變量值涝焙。
* 三種方式遍歷
* 迭代器
* 普通for
* 增強(qiáng)for
*
* LinkedList的使用和ArrayList的相似卑笨,所以LinkedList的練習(xí)需要大家自己做
*/
public class ArrayListTest {
public static void main(String[] args) {
//創(chuàng)建集合對象
ArrayList<Student> array = new ArrayList<Student>();
//創(chuàng)建元素對象
Student s1 = new Student("林青霞",30);
Student s2 = new Student("張曼玉",35);
Student s3 = new Student("王祖賢",33);
//把元素添加到集合
array.add(s1);
array.add(s2);
array.add(s3);
//迭代器
Iterator<Student> it = array.iterator();
while(it.hasNext()){
Student s = it.next();
System.out.println(s.getName()+"---"+s.getAge());
}
System.out.println("----------------------");
//普通for
for(int x=0; x<array.size(); x++) {
Student s = array.get(x);
System.out.println(s.getName()+"---"+s.getAge());
}
System.out.println("----------------------");
//增強(qiáng)for
for(Student s : array) {
System.out.println(s.getName()+"---"+s.getAge());
}
}
}