linkedlistjava
1. java中的LinkedList的問題在線等,急
import java.util.LinkedList;
/*
*利用LinkedList來實現堆棧
*LinkedList容器具有有續性,以及插入刪除方便的特徵
*
*/
public class Stack<T>{
//建立一個鏈表保存數據
private LinkedList<T> stack;
public Stack(){
stack = new LinkedList<T>();
}
//入棧操作
public void push(T obj){
stack.addFirst(obj);
}
//獲取棧頂元素
public T top(){
//判斷棧是否為空
if(!isEmpty()){
return stack.getFirst();
}else{
return null;
}
}
//出棧操作
public T pop(){
//判斷棧是否為空
if(!isEmpty()){
return stack.removeFirst();
}else{
return null;
}
}
//判斷棧是否為空
public boolean isEmpty(){
return stack.isEmpty();
}
//測試堆棧
public static void main(String[] args){
String[] list = "my name is beyondlife".split(" ");
Stack<String> stack = new Stack<String>();
for(String obj : list){
stack.push(obj);
}
while(stack.peek() != null){
System.out.print(stack.pop() + " ");
}
}
}
給你改好了,回答個問題真是不容易,你自己改也行啊,這么簡單
2. java中使用LinkedList實現一個類
import java.util.Collection;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedList;
public class A {
public void getList(String str){
LinkedList<String> l = new LinkedList<String>();
for(int i = 0 ; i < str.length() ; i++){
char c = str.charAt(i) ;
if(c == '+' && i < str.length()-1){
l.add(str.charAt(i+1)+"");
}else if(c == '-'){
if(l.size() > 0){
System.out.println(l.getFirst());;
l.removeFirst();
}
}
}
System.out.println("最後結果:");
if(l.size() == 0){
System.out.println("最後的棧里不存在內容");
}
for(int i = 0 ; i < l.size() ; i++){
System.out.print(l.get(i));
}
}
public static void main(String[] args) {
new A().getList("+U+n+c-+e+r+t-+a-+i-+n+t+y-+-+r+u-+l+e+s--");
}
}
3. java中LinkedList問題
那個沒有錯誤,只是一個警告,可以不用理睬的
也可以
@SuppressWarnings("unchecked") //添加這個就可以了
public void push(Object o) {
l.addFirst(o);
}
或者
private LinkedList<Object> l = new LinkedList<Object>(); 都可以
4. java如何修改LinkedList里的某一個值
java中使用arraylist修改裡面的內容,可以使用set方法,拿到下標修改內容,如下代碼:
package com.qiu.lin.he;
import java.util.ArrayList;
import java.util.List;
public class Ceshi {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
System.out.println("未修改前:");
for (String s : list) {
System.out.println(s);
}
list.set(0, "修改之後的元素");//修改對應的元素
System.out.println("已修改後:");
for (String s : list) {
System.out.println(s);
}
}
}
5. java中ArrayList和LinkedList的區別
java中的arraylist和linkedlist的區別如下:
1.對ArrayList和LinkedList而言,在列表末尾增加一個元素所花的開銷都是固定的。對ArrayList而言,主要是在內部數組中增加一項,指向所添加的元素,偶爾可能會導致對數組重新進行分配;而對LinkedList而言,這個開銷是統一的,分配一個內部Entry對象。
2.在ArrayList的中間插入或刪除一個元素意味著這個列表中剩餘的元素都會被移動;而在LinkedList的中間插入或刪除一個元素的開銷是固定的。
3.LinkedList不支持高效的隨機元素訪問。
4.ArrayList的空間浪費主要體現在在list列表的結尾預留一定的容量空間,而LinkedList的空間花費則體現在它的每一個元素都需要消耗相當的空間
可以這樣說:當操作是在一列數據的後面添加數據而不是在前面或中間,並且需要隨機地訪問其中的元素時,使用ArrayList會提供比較好的性能;當你的操作是在一列數據的前面或中間添加或刪除數據,並且按照順序訪問其中的元素時,就應該使用LinkedList了。
6. 關於java linkedList 的remove方法
因為list是有順序的,先add的編號就小(從0開始),這樣就可以通過remove(編號)的形式進行刪除,之後後面的會編號依次變小(也就是說編號總是連續的)。舉例:
List list = new linkedList();
list.add("0");
list.add("1");
list.remove(0);
結果就是:list.get(0) =1;
備註:如果在一次「list.remove(0);」那麼list對象就是個空。
7. java連接池為什麼要用linkedlist
linkedlist和arraylist的對比,arraylist查詢速度快、插入刪除元素速度慢;linkedlist相反,插入刪除元素速度快,而查詢元素速度慢。java連接池的元素個數不固定,經常會有插入新元素和刪除元素的動作,所以選用linkedlist。
回答很完整啊,這可是《thinking in java》里的內容啊。
8. java中鏈表是指java.util包中的LinkedList類嗎
鏈表指的是一種數據存儲結構,java.util.LinkedList是JAVA自己實現的一個雙向鏈表,自定義鏈表的話可以參考LinkedList類的源碼
9. JAVA中LinkedList的底層實現是鏈表還是隊列
是鏈表實現,通過引用來找到前面或後面的對象,所以相對來說LinkedList插入、刪除操作比較快,查找較慢,是雙向鏈表。