集合
List接口的常用实现类
ArrayList
ArrayList被称为数组列表,数据采用数组的方式存储,使
用连续内存存储。ArrayList是Java语言中可变长度数组的 实现。
LinkedList
称为链表,该集合类型实现了“链表”的数据结构。值得一提的是,LinkedList不仅实现了List接口,还实现了Queue接口,可以说链表同时也可以作为一个队列对象使用。使用方式与ArrayList类似。
Vector
Vector是JDK1.0版本中的集合类,后来修改为实现了List接口。Vector的功能几乎都可以被ArrayList替代,主要区别是Vector是同步的,而ArrayList不是同步的。
ArrayList的常用方法
add(Object o);->集合中添加数据
remove(Object o)->删除集合中的数据
add(int index, Object element)->给集合中某个索引位置添加一个数据
get(int index)->获取集合中某个位置的信息
LinkedList
LinkedList是以链表的方式存放的,每个节点上存放的是数据信息
常用方法:
add(E element)—向链表末尾添加一个新的节点,该节点中的数据是参数element指定的对象。
add(int index, E element)—向链表的指定位置添加一个新的节点,该节点中的数据是参数element指定的对象。
扩展的方法:
addFirst(E element)—向链表的头添加新节点,该节点中的数据是参数element指定的对象。
addLast(E element)—向链表的末尾添加新节点,该节点中的数据是参数element指定的对象。
for循环遍历
通过索引值获取所对应的数据信息
增强for循环的遍历
也是通过迭代器的方法获取信息
迭代器遍历(Iterator)
很少使用通过集合返回迭代器。
package 集合;
import java.util.HashMap;
import java.util.TreeMap;
public class User {
String name;
public User(String name) {
this.name = name;
}
public String toString() {
return "名字"+name;
}
public static void main(String [] args) {
User user1 = new User("小花");
User user2 = new User("小明");
User user3 = new User("小花1");
User user4 = new User("小花2");
HashMap<String,User> map = new HashMap<String,User>();
map.put("002", user1);
map.put("001", user2);
map.put("004", user3);
map.put("003", user4);
// put可以对map进行更新
// System.out.println(map.put("001", user1));
// System.out.println(map.put("002", user2));
// System.out.println(map.put("003", user3));
// System.out.println(map.put("004", user4));
// map对整个put中的属性进行排序,可以与user对应起来
System.out.println(map);
TreeMap<String,User> tree = new TreeMap<String,User>();
tree.put("004",user1);
tree.put("002",user2);
tree.put("001",user3);
tree.put("003",user4);
// tree对整个put中的属性进行排序,可以与user对应起来
System.out.println(tree);
}
}
package 集合;
import java.util.LinkedList;
import com.sun.xml.internal.bind.v2.schemagen.xmlschema.List;
public class 集合 {
public static void main(String [] args) {
//创建用户对象
User user =new User("0张三");
User user1=new User("1李四");
User user2=new User("2李四");
User user3=new User("3");
User user4=new User("4");
//创建集合对象,存放用户对象
LinkedList<User> userList=new LinkedList<User>();
userList.add(user);
userList.add(user1);
userList.add(user2);
userList.add(user3);
userList.add(user4);
for(User userInfo:userList){
System.out.println(userInfo);
}
}
}
package 集合;
import java.util.ArrayList;
import com.sun.xml.internal.bind.v2.schemagen.xmlschema.List;
public class list {
public static void main(String[] args) {
//创建用户对象
User user=new User("0张三");
User user1=new User("1李四");
User user2=new User("2");
User user3=new User("3");
User user4=new User("4");
//创建集合对象,存放用户对象
ArrayList<User> userList=new ArrayList<User>();
//增加数据
userList.add(user);
userList.add(user1);
userList.add(user2);
userList.add(user3);
userList.add(user4);
//删除数据
userList.remove(user3);
//遍历
for(int i=0;i<userList.size();i++){
System.out.println(userList.get(i));
}
}
}