1.Collection练习
package com.logic.collection_;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* @author logic
* @version 1.0
*/
/*
创建 3个 Dog(name,age)对象,放入到 ArrayList 中,
赋给 List 引用用迭代器和增强for循环两种方式来遍历
重写Dog 的toString方法,输出name和age
*/
public class CollectionExercise {
public static void main(String[] args) {
Dog dog1 = new Dog("jack", 3);
Dog dog2 = new Dog("lucy", 4);
Dog dog3 = new Dog("jenny", 5);
List list = new ArrayList();
list.add(dog1);
list.add(dog2);
list.add(dog3);
//使用增强for
for (Object dog : list) {
System.out.println(dog.toString());
}
//使用迭代器
System.out.println("==使用迭代器==");
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
Object dog = iterator.next();
System.out.println(dog.toString());
}
}
}
class Dog {
private String name;
private int age;
public Dog(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;
}
@Override
public String toString() {
return "Dog{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
2.List接口基本介绍
List接口是Collection接口的子接口
- List集合类中元素有序(即添加顺序和取出顺序一致)、且可重复
- List集合中的每个元素都有其对应的顺序索引,即支持索引
- List容器中的元素都对应一个整数型的序号记载其在容器中的位置,可以根据序号存取容器中的元素
- JDK API中List接口的实现类有很多,查阅JDK文档 常用的有:ArrayList LinkedList Vector
package com.logic.list_;
import java.util.ArrayList;
import java.util.List;
/**
* @author logic
* @version 1.0
*/
public class List_ {
public static void main(String[] args) {
//1. List集合类中元素有序(即添加顺序和取出顺序一致)、且可重复 [案例]
List list = new ArrayList();
list.add("jack");
list.add("tom");
list.add("mary");
list.add("L0g1c");
list.add("tom");
System.out.println("list=" + list);
//2. List集合中的每个元素都有其对应的顺序索引,即支持索引
// 索引是从0开始的
System.out.println(list.get(3));//logic
}
}
3.List接口的常用方法
package com.logic.list_;
import java.util.ArrayList;
import java.util.List;
/**
* @author logic
* @version 1.0
*/
public class ListMethod {
public static void main(String[] args) {
List list = new ArrayList();
list.add("张三丰");
list.add("贾宝玉");
// void add(int index, Object ele):在index位置插入ele元素
//在index = 1的位置插入一个对象
list.add(1, "L0g1c");
System.out.println("list=" + list);
// boolean addAll(int index, Collection eles):从index位置开始将eles中的所有元素添加进来
List list2 = new ArrayList();
list2.add("jack");
list2.add("tom");
list.addAll(1, list2);
System.out.println("list=" + list);
// Object get(int index):获取指定index位置的元素
//说过
// int indexOf(Object obj):返回obj在集合中首次出现的位置
System.out.println(list.indexOf("tom"));//2
// int lastIndexOf(Object obj):返回obj在当前集合中末次出现的位置
list.add("L0g1c");
System.out.println("list=" + list);
System.out.println(list.lastIndexOf("L0g1c"));
// Object remove(int index):移除指定index位置的元素,并返回此元素
list.remove(0);
System.out.println("list=" + list);
// Object set(int index, Object ele):设置指定index位置的元素为ele , 相当于是替换.
list.set(1, "玛丽");
System.out.println("list=" + list);
// List subList(int fromIndex, int toIndex):返回从fromIndex到toIndex位置的子集合
// 注意返回的子集合 fromIndex <= subList < toIndex
List returnlist = list.subList(0, 2);
System.out.println("returnlist=" + returnlist);
}
}
4.List接口课堂练习
package com.logic.list_;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
* @author logic
* @version 1.0
*/
public class ListExercise {
@SuppressWarnings("all")
public static void main(String[] args) {
/*
添加10个以上的元素(比如String "hello" ),在2号位插入一个元素"韩顺平教育",
获得第5个元素,删除第6个元素,修改第7个元素,在使用迭代器遍历集合,
要求:使用List的实现类ArrayList完成。
*/
List list = new ArrayList();
for (int i = 0; i < 12; i++) {
list.add("hello" + i);
}
System.out.println("list=" + list);
//在2号位插入一个元素"logic"
list.add(1, "logic");
System.out.println("list=" + list);
//获得第5个元素
System.out.println("第五个元素=" + list.get(4));
//删除第6个元素
list.remove(5);
System.out.println("list=" + list);
//修改第7个元素
list.set(6, "三国演义");
System.out.println("list=" + list);
//在使用迭代器遍历集合
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
Object obj = iterator.next();
System.out.println("obj=" + obj);
}
}
}
5.List的三种遍历方式(ArrayList LinkedList Vector)
package com.logic.collection_;
import java.util.*;
/**
* @author logic
* @version 1.0
*/
public class ListFor {
@SuppressWarnings("all")
public static void main(String[] args) {
List list = new ArrayList();
//如果换为LinkedList & Vector的运行类型都可以
list.add("jack");
list.add("logic");
list.add("lucy");
list.add("文化苦旅");
//第一种 迭代器
System.out.println("===下面是迭代器===");
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
Object obj = iterator.next();
System.out.println(obj);
}
//第二种 增强for
System.out.println("===下面是增强for===");
for (Object obj : list) {
System.out.println(obj);
}
//第三种 普通for
System.out.println("===下面是普通for===");
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
1552

被折叠的 条评论
为什么被折叠?



