基于List线程表基本操作

package com.cn.list.base;

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

/**
* 基于List线程表基本操作
*
*/
public class ListOperation<T> {

private List<T> list = null;

/**
* 初始化List线性表
*
* @param initialCapacity 线程表容量
* @return List
*/
public List<T> initList(int initialCapacity){
list = null;
list = new ArrayList<T>(initialCapacity);
return list;
}

/**
* <p>
* 判断线性表是否为空。
* <p>
*
* <li>true - 线性表为空
* <li>false - 线性表不为空
*
* @return boolean
*/
public boolean isEmpty(){
if(null == list || list.size() <= 0){
return true;
}
return false;
}

/**
* 清空线性表
*/
public void clearList(){
list.clear();
}

/**
* 返回指定索引的元素
*
* @param i 索引值
* @return 线性表中元素
*/
@SuppressWarnings({ "unchecked", "hiding" })
public <T> T getElem(int i){
return (T) list.get(i);
}

/**
* 查找线性表中是否存在t元素
*
* <li>true - 存在
* <li>false - 不存在
*
* @param t 对比元素
* @return boolean
*/
public boolean locateElem(T t){
for(int i = 0;i < list.size();i++){
if(list.get(i).equals(t)){
return true;
}
}
return false;
}

/**
* 插入元素
*
* @param t 元素
*/
public void insert(T t){
list.add(t);
}

/**
* 返回线程表长度
*
* @return 线程表长度
*/
public int length(){
return list.size();
}

/**
* 合并指定线性表,相同的元素覆盖
*
* @param lis 要合并的线性表
*/
public void union(ListOperation<T> lis){
for(int i = 0;i < lis.length();i++){
T t = lis.getElem(i);
if(!this.locateElem(t)){
this.insert(t);
}
}
}

/**
* 打印线性表中所有元素
*/
public void all(){
System.out.println(list);
}

}

posted @ 2016-06-24 13:56  wuq126  阅读(223)  评论(0编辑  收藏  举报