集合框架一:List接口

来源:互联网 发布:购物网站如何优化 编辑:程序博客网 时间:2024/05/29 07:53

package us.google;

import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Vector;
import java.util.concurrent.SynchronousQueue;

import org.omg.PortableServer.ServantActivator;
import org.w3c.dom.ls.LSInput;

/**
* List接口
* 1、允许重复元素
* 2、必须有序
* 3、允许null值
* @author chongrubujing
*
*/
public class ListDemo {
/**
* ArrayList实现类
* 1、默认构造的ArrayList对象时10个大小的数组
* 2、如果数组已满,就动态扩充数组,算法是:(,原来数组的长度*3、2)+1,大约是元数组的一半左右
* 3、内部使用动态数组来实现
* 4、如果我们已知元素个数,那么可以使用指定初始容量的构造方法创建ArrayList对象,这样可以有效的避免
* 数组扩充的次数过多,从而提高效率。
* 5、使用插入或者删除操作,会导致数组需要重新创建,会影响性能,尽量少用。
* 6、线程不安全。
*/
public static void arraylist()
{
//创建ArrayList对象
ArrayList list = new ArrayList();
//添加元素
list.add(10);
list.add(“小白”);
list.add(true);
list.add(11);
list.add(12);
list.add(13);
list.add(14);
list.add(15);
list.add(16);
list.add(11);
System.out.println(“一共有元素:”+list.size());
//插入元素
list.add(5, 1000);
System.out.println(“第五个元素是:”+list.get(5));
//清除所有的元素
//list.clear();
//System.out.println(list.size());
//如果次列表中包含指定元素则返回为true,否则返回false;
System.out.println(list.contains(15));
//查找元素指定的位置(首次出现)
System.out.println(list.indexOf(11));
//检查集合是否为空
System.out.println(list.isEmpty());
//删除指定索引处的元素,返回的额是该元素
System.out.println(list.remove(1));
}
/**
* vector实现类
* 1、使用动态对象数组实现、
* 2、默认构造方法初始化容量为10
* 3、扩充方式:如果有用户指定增量,则当前容量+增量,如果没有增量:原来容量*2;
* 4、线程安全
*/
public static void vector()
{
//创建Vector类对象
Vector vector = new Vector();
//添加元素
vector.add(“春春”);
vector.add(“萌萌”);
vector.add(“爱爱”);
}
/**
* LinkedList实现类
* 1、使用双向链表实现
* 2、优点:适合插入删除操作方便
*/
public static void linkedlist()
{
//创建LinkedList对象
LinkedList list = new LinkedList();
//添加元素
list.add(“凤凤”);
list.add(“萌萌”);
list.add(“琳琳”);
}
public static void main(String[] args) {
arraylist();
//创建集合对象类,使用泛型
List list = new ArrayList();
list.add(“”);//空格也是元素
System.out.println(list.size());
}

}

用容器模拟数据库,实现增删改查操作,用Arraylist实现用户的增删改查
package us.google.hoemwork;
/**
* 用户类
* @author chongrubujing
*
*/
public class User {
private String name;
private int age;
private String sex;
public User(String name, int age, String sex) {
super();
this.name = name;
this.age = age;
this.sex = sex;
}
public User() {
super();
// TODO Auto-generated constructor stub
}
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 String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
@Override
public String toString() {
return “User [name=” + name + “, age=” + age + “, sex=” + sex + “]”;
}

}

package us.google.hoemwork;

import java.util.ArrayList;
import java.util.List;

/**
* 用户管理类:提供对用户的增删改查操作(CRUD)
* @author chongrubujing
*
*/
public class UserSecvice {
private List users = null;
//在构造方法中创建容器
public UserSecvice()
{
users = new ArrayList();
}
/**
* 添加方法
* @param user
*/
public void add(User user)
{
users.add(user);
}
/**
* 修改方法
* @param user
*/
public void update(User user)
{
User u = find(user.getName());
if(u==null)
{
return;
}
u.setAge(user.getAge());
u.setName(user.getName());
u.setSex(user.getSex());
}
/**
* 根据主键名字删除操作
* @param name
*/
public void delete(String name)
{
User u = find(name);
if(u==null)
{
return;
}
users.remove(u);
}
/**
* 查找方法
* @param name
*/
public User find(String name)
{
for (int i = 0; i

0 0
原创粉丝点击