「list创建java」list创建空列表
今天给各位分享list创建java的知识,其中也会对list创建空列表进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、用java创建一个List集合
- 2、java创建List
- 3、怎样用Java编写一个list
- 4、java 中创建list的语法
- 5、用java创建一个称为List的类,它能存储任何类型的对象,并可以在任何时候增加或删除对象
用java创建一个List集合
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) {
ListCharacter list = new ArrayListCharacter();
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');
MapCharacter,Integer map = new HashMapCharacter,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创建List
ArrayListWorker list = new ArrayListWorker();//创建一个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=0;ilist.size();i++){//循环遍历List
Worker w = list.get(i);//获取第i位的工人信息
System.out.println(w.getName()+";"+w.getAge()+";"+w.getSalary());//打印该工人信息
}
IteratorWorker 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;//返回是
}
怎样用Java编写一个list
import java.util.Iterator;
public class MyArrayList {
Object[] arr;
int size=0;
public MyArrayList(){
this(10);
}
public MyArrayList(int R){
arr=new Object[R];
}
public int size() {
return size;
}
public void add(Object obj){
if(arr.length=size+1){
arr[size]=obj;
size++;
}else{
int i=arr.length*3/2+1;
Object[] a2=new Object[i];
System.arraycopy(arr,0,a2,0, size);
a2[size]=obj;
size++;
arr=a2;
}
// if(arr.lengthsize+1){
// Object[] a=new Object[size*3/2+1];
// System.arraycopy(arr, 0, a, 0, size);
// arr=a;
// }
// arr[size]=obj;
// size++;
//}
}
public Object get(int i){
if(i0||i=size){
throw new ArrayIndexOutOfBoundsException(i);
}else{
return arr[i];
}
}
public Object set(int i,Object obj){
if(i0||i=size){
throw new ArrayIndexOutOfBoundsException(i);
}else{
size++;
Object o=arr[i];
for(int j=size-1;ji;j--){
arr[j]=arr[j-1];
}
arr[i]=obj;
return o;
}
}
public Object remove(int i){
if(i0||i=size){
throw new ArrayIndexOutOfBoundsException(i);
}else{
Object o=arr[i];
for(int j=i;jsize-1;j++){
arr[j]=arr[j+1];
}
size--;
// System.arraycopy(arr, i+1, arr, i,size-(i+1));
// arr[--size]=null;
return o;
}
}
public Iterator iterator(){
return new MyIterator();//创建迭代器并以父接口类型返回
}
private class MyIterator implements Iterator{//在内部类中可以不
int index=0;
public boolean hasNext(){
return indexsize;
}
public Object next(){
return arr[index++];
}
public void remove(){
MyArrayList.this.remove(index);//内部类调用外部类的方法
}
}
}
//注释为可替换代码
java 中创建list的语法
你可以试试
ListStringa = new ListString();会报错 因为List是接口
LinkedListStringa = new LinkedListString();这样是没问题的
ListStringa = new LinkedListString();
写这样子主要是好维护 它只操作接口 不操作类
那后面a.xxx()只涉及到接口了 不需要关心具体是哪个类实现接口
并且一般会将赋值单独抽取出来 写成setList() setA()之类的方法
如果需要换成其他类实现 只需要修改赋值代码即可
List a=new LiknedList改成List a=new ArrayList()其他的不用改
--------------------------------------------------------
如果用spring框架 就可以控制注入类所需类 更好维护 这都是后话 可以不看
用java创建一个称为List的类,它能存储任何类型的对象,并可以在任何时候增加或删除对象
Java中是有java.util.List接口的,实现类有一大堆,常用的有ArrayList(底层是数组)和LinkedList(底层是链表),创建方法是这样的:
ListObject arryList = new ArrayListObject();
ListObject linkedList = new LinkedListObject();
上面用到是多态。
添加是这样的:
arrayList.add(obj);
linkedList.add(obj); // 两个一样,没区别
删除是这样的:
arrayList.remove(0); // 0 是下标
linkedList.remove(0);
如果只是增加和删除的话,建议使用LinkedList,效率高一些。
如果非要自己写一个类的话,会麻烦很多。
public class ListL{
private LinkedListL list = new LinkedListL();
public void add(L l){
list.addLast(l);
}
public void remove(int a){
// 方法
list.remove(a);
}
}
其中L表示范型, 别问为什么要用L,因为我姓梁。
希望我的回答能对你有所帮助,荣幸之至。
list创建java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于list创建空列表、list创建java的信息别忘了在本站进行查找喔。
发布于:2022-12-18,除非注明,否则均为
原创文章,转载请注明出处。