List的使用方法
2015-08-16 07:59
267 查看
List 的基本概述(非原创):
有序的collection (也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确的控制。
用户可以更具元素的整数索引(在列表中的位置) 访问元素,并搜索列表中的元素。
与set不同,列表通常允许重复的元素
![](https://img-blog.csdn.net/20150816082233136?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
(图片来自网络)
List 的基本功能
boolean
void clear() 从列表中移除所有元素
boolean contains(object o ) 如果列表包含指定元素,返回ture
E get(int index) 返回列表中指定位置的元素
boolean isEmpty() 如果列表不包含元素,则返回 true。
Iterator iterator() 返回按适当顺序在列表的元素上进行迭代的迭代器。
E remove(int index) 移除列表中指定位置的元素(可选操作)。
boolean remove(Object o) 从此列表中移除第一次出现的指定元素(如果存在)(可选操作)。
E set(int index, E element) 用指定元素替换列表中指定位置的元素(可选操作)。
int size() 返回列表中的元素个数
Object toArray() 返回按适当顺序包含列表中的所有元素的数组(从第一个元素到最后一个元素)。
样例一: 存储字符串并遍历
package com.hs.ArrayListText;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
// 字符串操作
public class ArrayListText01 {
public static void main(String[] args) {
Collection c = new ArrayList(); //cllection 是个接口
ArrayList a = new ArrayList();
c.add("hellow");
c.add("world");
a.add("hellow"); // 在直接add加入一个字符串时, 隐形 创建了一个Object类 (Object obj = "hellow")
a.add("JAVA");
System.out.println(c); //打印C集合的元素
c.remove("hellow"); //移除元素“hellow”
a.addAll(c); //添加一个集合的元素
// a.removeAll(c); //移除一个集合的元素
System.out.println(c); //打印C集合的元素
System.out.println(a); //打印a集合的元素
System.out.println();
Object[] o =a.toArray(); //将ArrayList集合转换为 数组类
for (Object object : o) {
String s = (String) object; //若想打印数组元素的长度, 需转换成字符串类型
System.out.println(s+"-----"+s.length());
}
System.out.println();
System.out.println();
Iterator it = a.iterator();
while(it.hasNext()){
String s = (String)it.next();
System.out.println(s+"-----"+s.length());
}
}
}
样例二: 自定义对象存储并遍历
自定义类:
package com.hs.ArrayListText;
public class Student {
private String name;
private int 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;
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public Student() {
super();
this.name = name;
this.age = age;
}
}
操作部分:
package com.hs.ArrayListText;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
//自定义对象
public class ArrayListTest02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Collection c = new ArrayList();
//List list = new ArrayList();
Student s1 = new Student("张三",18);
Student s2 = new Student("李四",19);
Student s3 = new Student("王麻子",20);
c.add(s1);
c.add(s2);
c.add(s3);
// ArrayList的遍历
Object obj[] = c.toArray();
for (Object object : obj) {
Student s = (Student)object;
System.out.println(s.getName()+"--------"+s.getAge());
}
System.out.println();
System.out.println();
System.out.println();
Iterator it = c.iterator();
while(it.hasNext()){ // boolean hasNext() 的作用是判断是否还有下一个元素
Student s = (Student)it.next(); // 每使用一次 it.next(), 就访问一次对象,自增加一
System.out.println(s.getName()+"--------"+s.getAge());
}
// for循环写法的好处: 循环结束后自动释放 it
// for(Iterator it = c.iterator();it.hasNext();){
// Student s = (Student)it.next();
// System.out.println(s.getName()+"--------"+s.getAge());
// }
}
}
有序的collection (也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确的控制。
用户可以更具元素的整数索引(在列表中的位置) 访问元素,并搜索列表中的元素。
与set不同,列表通常允许重复的元素
(图片来自网络)
List 的基本功能
boolean
add(E e) 向列表的尾部添加指定的元素
void add(int index, E elemnt) 向指定位置插入指定元素
void clear() 从列表中移除所有元素
boolean contains(object o ) 如果列表包含指定元素,返回ture
E get(int index) 返回列表中指定位置的元素
boolean isEmpty() 如果列表不包含元素,则返回 true。
Iterator iterator() 返回按适当顺序在列表的元素上进行迭代的迭代器。
E remove(int index) 移除列表中指定位置的元素(可选操作)。
boolean remove(Object o) 从此列表中移除第一次出现的指定元素(如果存在)(可选操作)。
E set(int index, E element) 用指定元素替换列表中指定位置的元素(可选操作)。
int size() 返回列表中的元素个数
Object toArray() 返回按适当顺序包含列表中的所有元素的数组(从第一个元素到最后一个元素)。
样例一: 存储字符串并遍历
package com.hs.ArrayListText;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
// 字符串操作
public class ArrayListText01 {
public static void main(String[] args) {
Collection c = new ArrayList(); //cllection 是个接口
ArrayList a = new ArrayList();
c.add("hellow");
c.add("world");
a.add("hellow"); // 在直接add加入一个字符串时, 隐形 创建了一个Object类 (Object obj = "hellow")
a.add("JAVA");
System.out.println(c); //打印C集合的元素
c.remove("hellow"); //移除元素“hellow”
a.addAll(c); //添加一个集合的元素
// a.removeAll(c); //移除一个集合的元素
System.out.println(c); //打印C集合的元素
System.out.println(a); //打印a集合的元素
System.out.println();
Object[] o =a.toArray(); //将ArrayList集合转换为 数组类
for (Object object : o) {
String s = (String) object; //若想打印数组元素的长度, 需转换成字符串类型
System.out.println(s+"-----"+s.length());
}
System.out.println();
System.out.println();
Iterator it = a.iterator();
while(it.hasNext()){
String s = (String)it.next();
System.out.println(s+"-----"+s.length());
}
}
}
样例二: 自定义对象存储并遍历
自定义类:
package com.hs.ArrayListText;
public class Student {
private String name;
private int 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;
}
public Student(String name, int age) {
super();
this.name = name;
this.age = age;
}
public Student() {
super();
this.name = name;
this.age = age;
}
}
操作部分:
package com.hs.ArrayListText;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
//自定义对象
public class ArrayListTest02 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Collection c = new ArrayList();
//List list = new ArrayList();
Student s1 = new Student("张三",18);
Student s2 = new Student("李四",19);
Student s3 = new Student("王麻子",20);
c.add(s1);
c.add(s2);
c.add(s3);
// ArrayList的遍历
Object obj[] = c.toArray();
for (Object object : obj) {
Student s = (Student)object;
System.out.println(s.getName()+"--------"+s.getAge());
}
System.out.println();
System.out.println();
System.out.println();
Iterator it = c.iterator();
while(it.hasNext()){ // boolean hasNext() 的作用是判断是否还有下一个元素
Student s = (Student)it.next(); // 每使用一次 it.next(), 就访问一次对象,自增加一
System.out.println(s.getName()+"--------"+s.getAge());
}
// for循环写法的好处: 循环结束后自动释放 it
// for(Iterator it = c.iterator();it.hasNext();){
// Student s = (Student)it.next();
// System.out.println(s.getName()+"--------"+s.getAge());
// }
}
}
相关文章推荐
- Gulp开发教程(翻译)
- C++栈的调用
- swift 学习笔记二:Closures
- Spring学习笔记-springMVC入门Demo
- C++优先队列的调用
- 美国如何布局战略,对应《中国制造2025》?
- C++基础---位操作符
- 打破外国垄断,看“中国制造”向“中国智造”进发
- C++普通队列容器
- oracle 监听 lsnrctl 命令
- Button、ImageButton及ImageView详解
- Akka.NET v1.0 已发布,支持Mono
- Spring MVC 4 常用注解汇总
- 中国制造正在遭遇危机么?
- 深入了解推荐引擎组件(基于Apache Mahout和Elasticsearch)
- Another MySQL daemon already running with the same unix socket
- 转:DataSet、DataTable、DataRow、DataColumn区别及使用实例
- 从html页面获取纯文本文件替换其中的内容
- PS视频笔记----工具栏---缩放工具
- 学习笔记(九)并发(一)