十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你可以试试
创新互联专注于企业成都营销网站建设、网站重做改版、南京网站定制设计、自适应品牌网站建设、H5场景定制、商城网站建设、集团公司官网建设、外贸营销网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为南京等各大城市提供网站开发制作服务。
ListStringa = new ListString();会报错 因为List是接口
LinkedListStringa = new LinkedListString();这样是没问题的
ListStringa = new LinkedListString();
写这样子主要是好维护 它只操作接口 不操作类
那后面a.xxx()只涉及到接口了 不需要关心具体是哪个类实现接口
并且一般会将赋值单独抽取出来 写成setList() setA()之类的方法
如果需要换成其他类实现 只需要修改赋值代码即可
List a=new LiknedList改成List a=new ArrayList()其他的不用改
--------------------------------------------------------
如果用spring框架 就可以控制注入类所需类 更好维护 这都是后话 可以不看
默认的JList不能编辑,要编辑的话要手动设置内部数据结构。最简单的方法是用DefaultListModel
DefaultListModel listModel = new DefaultListModel();
JList list = new JList(listModel);
DefaultListModel 里面的一些方法:
void add(int index, Object element)
void addElement(Object obj)
void setElementAt(Object obj, int index)
boolean removeElement(Object obj)
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);//内部类调用外部类的方法
}
}
}
//注释为可替换代码
1、publicabstractclassCall{undefined。
2、publicConnectiongetEarliestConnection,undefined。
3、Connectionearliest=null。
4、以上就是java用java调用抽象类方法创建列表的方法。