Worker zhang3 = new Worker("zhang3",18,3000)//分别创建三个Worker
Worker li4 = new Worker("li4",25,3500)
Worker wang5 = new Worker("wang5",22,3200)
list.add(zhang3)//分别将三个Worker加入List
list.add(li4)
list.add(wang5)
Worker zhao6 = new Worker("zhao6",24,3300)//创建赵六
list.add(1,zhao6)//将赵六加入List第二的位置
list.remove(wang5)//从List中移除王五
for(int i=0i<list.size()i++){//循环遍历List
Worker w = list.get(i)//获取第i位的工人信息
System.out.println(w.getName()+""+w.getAge()+""+w.getSalary())//打印该工人信息
}
Iterator<Worker>iter = list.iterator()//获取List迭代器
while(iter.hasNext())
iter.next().work()//迭代遍历List并调用work
---------------------------------
public boolean equals(Object obj){
if(!(obj instanceof Worker))
return false//如果给出的对象不是Worker对象则返回否结果
Worker worker = (Worker)obj//将给出的对象转换为Worker对象
if(!worker.getName().equals(name))
return false//如果给出的对象与本对象的name不一致则返回否
if(worker.getSalary()!=salary)
return false//salary不一致则返回否
if(worker.getAge()!=age)
return false//age不一致则返回否
return true//返回是
}
package testimport java.util.ArrayList
import java.util.HashMap
import java.util.List
import java.util.Map
/**
* 用java创建一个List集合用java创建一个list集合,保存'a b a b c a c b a a b'。
* 然后使用Map集合,key保存对应的字母,value保存对应字母的出现次数。
* @author ASUS
*
*/
public class Test15 {
public static void main(String[] args) {
List<Character>list = new ArrayList<Character>()
list.add('a')
list.add('b')
list.add('a')
list.add('b')
list.add('c')
list.add('a')
list.add('c')
list.add('b')
list.add('a')
list.add('a')
list.add('b')
Map<Character,Integer>map = new HashMap<Character,Integer>()
for(Character ch : list){
if(map.containsKey(ch)){
int num = map.get(ch)
num+=1
map.put(ch, num)
}else{
map.put(ch, 1)
}
}
System.out.println(map)
}
}
Java中是有java.util.List接口的,实现类有一大堆,常用的有ArrayList(底层是数组)和LinkedList(底层是链表),创建方法是这样的:
List<Object> arryList = new ArrayList<Object>()List<Object> linkedList = new LinkedList<Object>()
上面用到是多态。
添加是这样的:
arrayList.add(obj)linkedList.add(obj) // 两个一样,没区别
删除是这样的:
arrayList.remove(0) // 0 是下标linkedList.remove(0)
如果只是增加和删除的话,建议使用LinkedList,效率高一些。
如果非要自己写一个类的话,会麻烦很多。
public class List<L>{private LinkedList<L> list = new LinkedList<L>()
public void add(L l){
list.addLast(l)
}
public void remove(int a){
// 方法
list.remove(a)
}
}
其中L表示范型, 别问为什么要用L,因为我姓梁。
希望我的回答能对你有所帮助,荣幸之至。