集合框架-List集合
3.集合(List)(掌握)
(1)List是Collection的子介面
特點:有序(儲存順序和取出順序一致),可重複。
package cn.itcast_01;
import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;
/*
* 需求:List集合儲存字串並遍歷。
* List集合的特點:有序(儲存和取出的元素一致),可重複的
*/
public class ListDemo {
public static void main(String[] args) {
// 建立集合物件
List list = new ArrayList();
// 建立字串並新增字串
list.add("hello");
list.add("world");
list.add("java");
list.add("javaee");
list.add("java");
// 遍歷集合
Iterator it = list.iterator();
while (it.hasNext()) {
String s = (String) it.next();
System.out.println(s);
}
}
}
package cn.itcast_02;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/*
* 儲存自定義物件並遍歷
*/
public class ListDemo {
public static void main(String[] args) {
// 建立集合物件
List list = new ArrayList();
// 建立學生物件
Student s1 = new Student("白骨精", 30);
Student s2 = new Student("蜘蛛精", 40);
Student s3 = new Student("觀音姐姐", 22);
// 把學生物件新增到集合物件中
list.add(s1);
list.add(s2);
list.add(s3);
// 遍歷
Iterator it = list.iterator();
while (it.hasNext()) {
Student s = (Student) it.next();
System.out.println(s.getName() + "---" + s.getAge());
}
}
}
package cn.itcast_02;
public class Student {
// 成員變數
private String name;
private int age;
// 構造方法
public Student() {
super();
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
// 成員方法
// getXxx()/setXxx()
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;
}
}
(2)List的特有功能:(自己補齊)
A:新增功能
B:刪除功能
C:獲取功能
D:迭代器功能
E:修改功能
package cn.itcast_03;
import java.util.ArrayList;
import java.util.List;
/*
* List集合的特有功能:
* A:新增功能
* void add(int index,Object element):在指定位置新增元素。
將當前處於該位置的元素(如果有的話)和所有後續元素向右移動(在其索引中加 1)。
* B:獲取功能
* Object get(int index):獲取指定位置的元素
* C:列表迭代器
* ListIterator listIterator():List集合特有的迭代器
* D:刪除功能
* Object remove(int index):根據索引刪除元素,返回被刪除的元素
* E:修改功能
* Object set(int index,Object element):根據索引修改元素,返回被修飾的元素
*/
public class ListDemo {
public static void main(String[] args) {
// 建立集合物件
List list = new ArrayList();
// 新增元素
list.add("hello");
list.add("world");
list.add("java");
// void add(int index,Object element):在指定位置新增元素
// list.add(1, "android");//沒有問題 hello android world java
// IndexOutOfBoundsException 索引越界
// list.add(11, "javaee");//有問題
// list.add(3, "javaee"); //沒有問題
// list.add(4, "javaee"); //有問題
// Object get(int index):獲取指定位置的元素
// System.out.println("get:" + list.get(1)); hello world java 呼叫list.get(1)得到world
// IndexOutOfBoundsException
// System.out.println("get:" + list.get(11));
// Object remove(int index):根據索引刪除元素,返回被刪除的元素
// System.out.println("remove:" + list.remove(1));hello world java 把world幹掉了
// IndexOutOfBoundsException
// System.out.println("remove:" + list.remove(11));
// Object set(int index,Object element):根據索引修改元素,返回被修飾的元素
System.out.println("set:" + list.set(1, "javaee"));hello javaee java
System.out.println("list:" + list);
}
}
(3)List集合的特有遍歷功能
A:由size()和get()結合。
B:程式碼演示
package cn.itcast_03;
import java.util.ArrayList;
import java.util.List;
/*
* List集合的特有遍歷功能:
* size()和get()方法結合使用
*/
public class ListDemo2 {
public static void main(String[] args) {
// 建立集合物件
List list = new ArrayList();
// 新增元素
list.add("hello");
list.add("world");
list.add("java");
// Object get(int index):獲取指定位置的元素
// System.out.println(list.get(0)); hello
// System.out.println(list.get(1)); world
// System.out.println(list.get(2)); java
// IndexOutOfBoundsException
// System.out.println(list.get(3));
// 用迴圈改進
// for (int x = 0; x < 3; x++) {
// System.out.println(list.get(x));
// }
// 如果元素過多,數起來就比較麻煩,所以我們使用集合的一個長度功能:size()
// 最終的遍歷方式就是:size()和get()
for (int x = 0; x < list.size(); x++) {
// System.out.println(list.get(x));
String s = (String) list.get(x);
System.out.println(s);
}
}
}
package cn.itcast_03;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/*
* 儲存自定義物件並遍歷,用普通for迴圈。(size()和get()結合)
*/
public class ListDemo3 {
public static void main(String[] args) {
// 建立集合物件
List list = new ArrayList();
// 建立學生物件
Student s1 = new Student("林黛玉", 18);
Student s2 = new Student("劉姥姥", 88);
Student s3 = new Student("王熙鳳", 38);
// 把學生新增到集合中
list.add(s1);
list.add(s2);
list.add(s3);
// 遍歷
// 迭代器遍歷
Iterator it = list.iterator();
while (it.hasNext()) {
Student s = (Student) it.next();
System.out.println(s.getName() + "---" + s.getAge());
}
System.out.println("--------");
// 普通for迴圈
for (int x = 0; x < list.size(); x++) {
Student s = (Student) list.get(x);
System.out.println(s.getName() + "---" + s.getAge());
}
}
}
package cn.itcast_03;
public class Student {
// 成員變數
private String name;
private int age;
// 構造方法
public Student() {
super();
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
// 成員方法
// getXxx()/setXxx()
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;
}
}
相關文章
- Collection集合、List集合及其方法
- java集合-ListJava
- 集合框架(List儲存字串並遍歷)框架字串
- List型別集合型別
- list 集合去重
- List集合轉JSONObjectJSONObject
- 集合框架框架
- Java程式設計基礎17——集合(List集合)Java程式設計
- List集合(ArrayList-LinkedList);Set集合(HashSet-TreeSet)
- 3、List集合——ArrayList、LinkedList
- Java集合List隨堂Java
- java list 集合去重Java
- 【java】【集合】List、ListIterator、VectorJava
- Java中List集合轉Map集合報錯:Duplicate keyJava
- java集合框架Java框架
- Java 集合框架Java框架
- Java集合原始碼探究~ListJava原始碼
- Java 的 Collection 與 List 集合Java
- 小白學集合之List介面
- 【Java集合原始碼剖析】Java集合框架Java原始碼框架
- 【JAVA集合】JAVA集合框架及其常用方法Java框架
- 10.集合框架框架
- Java集合(5)之 List 總結Java
- Java中List集合效能比較Java
- 集合第一個Array List理解
- Java List 常用集合 ArrayList、LinkedList、VectorJava
- 陣列轉換成List集合陣列
- Java集合中List,Set以及Map等集合體系詳解(史上最全)Java
- 對Java list集合的新認知Java
- Java -- 對List集合進行分頁Java
- mybatis自定義List集合解析器MyBatis
- 集合------集合框架Collection/Iterator迭代器/增強for迴圈框架
- 集合框架體系概述框架
- 集合框架能否存null框架Null
- Java基礎-集合框架Java框架
- JAVA集合框架 - Map介面Java框架
- Java集合框架隨筆Java框架
- Java集合框架學習Java框架
- Java集合框架(一)-ArrayListJava框架