① 怎么编写一个简单的java队列
import java.util.*;
public class MyQueue<T> {
private LinkedList<T> list = new LinkedList<T>();
public void addLast(T v) {
list.addLast(v); //队尾插入
}
public T getFirst() {
return list.getFirst(); //取得队受元素
}
public void remove() {
list.removeFirst(); //移除队首元素
}
//类似功能自己扩展下
public static void main(String[] args) {
MyQueue<String> mq = new MyQueue<String>();
mq.addLast("hello world");
mq.addLast("hello world2");
System.out.println(mq.getFirst());
mq.remove();
System.out.println(mq.getFirst());
}
}
② java 中的LinkedList 是双向循环列表吗
源代码中:
public void addLast(E e) {
addBefore(e, header);
}
将指定元素添加到此列表的结尾
public boolean add(E e) {
addBefore(e, header);
return true;
}
所以,add是向列表尾加的
看了一下addBefore方法
应该是双链表结构 不是循环双链表
③ java中List的用法尽量详细解释,包括例子。
import java.util.*;
public class TestList {
public static void main(String[] args) {
List li = new ArrayList();
li.add("a");
li.add("b");
li.add("c");
li.add("d");
li.add("d");
li.add("d");
for(int i=0;i<li.size();i++) {
System.out.print((String)li.get(i)+" ");
}
System.out.println();
li.add(2,"cc");
System.out.println(li);
System.out.println(li.indexOf("d"));
System.out.println((String)li.remove(1));
System.out.println((String)li.set(4,"e"));
System.out.println(li);
}
}
④ java中 如何移除一组数据中的某个特定值
import java.util.*;
public class SS{
public static void main(String[] args){
Integer[] a={1,2,3,4};
ArrayList<Integer> at=new ArrayList<Integer>(Arrays.asList(a)); //用ArrayList存数组
int x=at.indexOf(3); //假如要删除3,获取3的下标,若不存在,返回-1
//System.out.print(x);//可查看下标
at.remove(x); //删除指定位置上的元素
System.out.print(at);
//同理,String[] 也一样
}
}
⑤ 用java创建一个称为List的类,它能存储任何类型的对象,并可以在任何时候增加或删除对象
Java中是有java.util.List接口的,实现类有一大堆,常用的有ArrayList(底层是数组)和LinkedList(底层是链表),创建方法是这样的:
List<Object>arryList=newArrayList<Object>();
List<Object>linkedList=newLinkedList<Object>();
上面用到是多态。
添加是这样的:
arrayList.add(obj);
linkedList.add(obj);//两个一样,没区别
删除是这样的:
arrayList.remove(0);//0是下标
linkedList.remove(0);
如果只是增加和删除的话,建议使用LinkedList,效率高一些。
如果非要自己写一个类的话,会麻烦很多。
publicclassList<L>{
privateLinkedList<L>list=newLinkedList<L>();
publicvoidadd(Ll){
list.addLast(l);
}
publicvoidremove(inta){
//方法
list.remove(a);
}
}
其中L表示范型, 别问为什么要用L,因为我姓梁。
希望我的回答能对你有所帮助,荣幸之至。
⑥ 在java中add函数是做什么用的
java.util 包下的接口 Collection中有
add(E e) 方法,表示添加一个元素
确保此 collection 包含指定的元素(可选操作)。如果此 collection 由于调用而发生更改,则返回 true。(如果此
collection 不允许有重复元素,并且已经包含了指定的元素,则返回 false。)
⑦ JAVA中的一个小问题
List<String>应该见过吧,表示这个List里面允许放String
Class<?> 也是这个意思,只不过?是通配内符,通配Object。
所以ItemClass是一个继承容了Object的类的Class属性