java创建List

Python017

java创建List,第1张

ArrayList<Worker>list = new ArrayList<Worker>()//创建一个List

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 test

import 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,因为我姓梁。

希望我的回答能对你有所帮助,荣幸之至。