基于List线程表基本操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于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);
}

}

以上是关于基于List线程表基本操作的主要内容,如果未能解决你的问题,请参考以下文章

[集合框架][List]LinkedList

List

单列集合List

单列集合List

Python中的顺序表

C++ 多线程 操作List 的问题