① 怎麼編寫一個簡單的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屬性