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插入、删除操作比较快,查找较慢,是双向链表。