MySet2(自己写的容器升级版)

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
 
public class MyCollection {
	/*
	 * 做项目时,要根据工程需要选择合适的容器实现类如: List(ArrayList、LinkedList),
	 * Set(HashSet,TreeSet),...
	 */
	private Collection col = new ArrayList();

	// 增
	public boolean add(Object obj) {
		return col.add(obj);
	}

	// 删
	public boolean delete(Object obj) {
		return col.remove(obj);
	}

	// 改
	public boolean update(Object oldobj, Object newobj) {
		Object objs[] = col.toArray();
		col.clear();
		boolean isOK = false;
		for (Object obj : objs) { 
			if (obj.equals(oldobj)) {
				col.add(newobj);
				isOK = true;
			} else {
				col.add(obj);
			}
		}
		return isOK;
	}

	// 查(全,条件)
	public Collection getall() {
		return col;
	}

	public boolean contains(Object obj) {
		return col.contains(obj);
	}

	// 查询条件即该方法的参数由工程需求定,这里用String示范一下
   /*
	* 条件查询的思路: 先创建一个新集合, 遍历所有数据集,把符合条件的放入新集合,最后返回新集合
	*/
   
	public Collection getBycondition(String condition){
	    Collection resCol=new ArrayList();
	    
	    Iterator it=col.iterator();
	    while(it.hasNext()){
	    	Object obj=it.next();
	    	if(obj.toString().indexOf(condition)>=0){
	    		resCol.add(obj);
	    	}
	    }
	    return resCol;
	}
}

import java.util.Collection;

import org.junit.Test;

import cn.hncu.col.sort.V3.Person;

public class demo {
	@Test
	public void demo1() {
		MyCollection col = new MyCollection();

		// 增
		col.add("11111");
		col.add("122221");
		col.add("33311");
		col.add("bbbbb");
		col.add("aaaa");
		col.add(new Person("Jack", 23));
		col.add(new Person("张三", 22));
		col.add(new Person("Rose", 24));

		// 删
		col.delete("aaaa");

		// 改
		col.update("bbbbb", "abcabc");

		// 查全
		for (Object obj : col.getall()) {
			System.out.println(obj);
		}
		System.out.println("--------------");

		// 条件查
		Collection col2 = col.getBycondition("a");
		for (Object obj : col2) {
			System.out.println(obj);
		}
	}

}

猜你喜欢

转载自blog.csdn.net/lx678111/article/details/79825152
今日推荐