在 linkedlist中.getfirst为什么获取出来的是jihe.laoshu@12bcz6651状态查询

LinkedList用法大全
LinkedList类是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用.LinkedList的构造函数如下1. public LinkedList(): &――生成空的链表2. public LinkedList(Collection col): &复制构造函数1、获取链表的第一个和最后一个元素import java.util.LinkedL
public class LinkedListTest{
public static void main(String[] args) {
LinkedList&String& lList = new LinkedList&String&();
lList.add("1");
lList.add("2");
lList.add("3");
lList.add("4");
lList.add("5");
System.out.println("链表的第一个元素是 : " + lList.getFirst());
System.out.println("链表最后一个元素是 : " + lList.getLast());
}链表的第一个元素是 : 1链表最后一个元素是 : 52、获取链表元素 &for (String str: lList) {
System.out.println(str);
}3、从链表生成子表
List subl = lList.subList(1, 4);
System.out.println(subl);
lst.remove(2);
System.out.println(lst);
System.out.println(lList);4、添加元素:添加单个元素 如果不指定索引的话,元素将被添加到链表的最后.public boolean add(Object element)public boolean add(int index, Object element)也可以把链表当初栈或者队列来处理:public boolean addFirst(Object element)public boolean addLast(Object element)addLast()方法和不带索引的add()方法实现的效果一样. import java.util.LinkedL
public class LinkedListTest{
public static void main(String[] a) {
LinkedList list = new LinkedList();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.addFirst("X");
list.addLast("Z");
System.out.println(list);
}5、删除元素public Object removeFirst()
public Object removeLast()
import java.util.LinkedL
public class MainClass {
public static void main(String[] a) {
LinkedList list = new LinkedList();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
list.removeFirst();
list.removeLast();
System.out.println(list);
}6、使用链表实现栈效果import java.util.LinkedL
public class MainClass {
public static void main(String[] args) {
StackL stack = new StackL();
for (int i = 0; i & 10; i++)
stack.push(i);
System.out.println(stack.top());
System.out.println(stack.top());
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
class StackL {
private LinkedList list = new LinkedList();
public void push(Object v) {
list.addFirst(v);
public Object top() {
return list.getFirst();
public Object pop() {
return list.removeFirst();
}7、使用链表来实现队列效果import java.util.LinkedL
public class MainClass {
public static void main(String[] args) {
Queue queue = new Queue();
for (int i = 0; i & 10; i++)
queue.put(Integer.toString(i));
while (!queue.isEmpty())
System.out.println(queue.get());
class Queue {
private LinkedList list = new LinkedList();
public void put(Object v) {
list.addFirst(v);
public Object get() {
return list.removeLast();
public boolean isEmpty() {
return list.isEmpty();
}8、将LinkedList转换成ArrayListArrayList&String& arrayList = new ArrayList&String&(linkedList);
for (String s : arrayList) {
System.out.println("s = " + s);
}9、删掉所有元素:清空LinkedList & &lList.clear();10、删除列表的首位元素import java.util.LinkedL
public class Main {
public static void main(String[] args) {
LinkedList&String& lList = new LinkedList&String&();
lList.add("1");
lList.add("2");
lList.add("3");
lList.add("4");
lList.add("5");
System.out.println(lList);
//元素在删除的时候,仍然可以获取到元素
Object object = lList.removeFirst();
System.out.println(object + " has been removed");
System.out.println(lList);
object = lList.removeLast();
System.out.println(object + " has been removed");
System.out.println(lList);
}11、根据范围删除列表元素import java.util.LinkedL
public class Main {
public static void main(String[] args) {
LinkedList&String& lList = new LinkedList&String&();
lList.add("1");
lList.add("2");
lList.add("3");
lList.add("4");
lList.add("5");
System.out.println(lList);
lList.subList(2, 5).clear();
System.out.println(lList);
}12、删除链表的特定元素import java.util.LinkedL
public class Main {
public static void main(String[] args) {
LinkedList&String& lList = new LinkedList&String&();
lList.add("1");
lList.add("2");
lList.add("3");
lList.add("4");
lList.add("5");
System.out.println(lList);
System.out.println(lList.remove("2"));//删除元素值=2的元素
System.out.println(lList);
Object obj = lList.remove(2);
//删除第二个元素
System.out.println(obj + " 已经从链表删除");
System.out.println(lList);
}13、将LinkedList转换为数组,数组长度为0import java.util.LinkedL
import java.util.L
public class Main {
public static void main(String[] args) {
List&String& theList = new LinkedList&String&();
theList.add("A");
theList.add("B");
theList.add("C");
theList.add("D");
String[] my = theList.toArray(new String[0]);
for (int i = 0; i & my. i++) {
System.out.println(my[i]);
}14、将LinkedList转换为数组,数组长度为链表长度import java.util.LinkedL
import java.util.L
public class Main {
public static void main(String[] args) {
List&String& theList = new LinkedList&String&();
theList.add("A");
theList.add("B");
theList.add("C");
theList.add("D");
String[] my = theList.toArray(new String[theList.size()]);
for (int i = 0; i & my. i++) {
System.out.println(my[i]);
}15、将LinkedList转换成ArrayListimport java.util.ArrayL
import java.util.LinkedL
import java.util.L
public class Main {
public static void main(String[] args) {
LinkedList&String& myQueue = new LinkedList&String&();
myQueue.add("A");
myQueue.add("B");
myQueue.add("C");
myQueue.add("D");
List&String& myList = new ArrayList&String&(myQueue);
for (Object theFruit : myList)
System.out.println(theFruit);
}16、实现栈import java.util.C
import java.util.LinkedL
public class Main {
public static void main(String[] argv) throws Exception {
LinkedList stack = new LinkedList();
Object object = "";
stack.addFirst(object);
Object o = stack.getFirst();
stack = (LinkedList) Collections.synchronizedList(stack);
}17、实现队列import java.util.LinkedL
public class Main {
public static void main(String[] argv) throws Exception {
LinkedList queue = new LinkedList();
Object object = "";
// Add to end of queue
queue.add(object);
// Get head of queue
Object o = queue.removeFirst();
}18 、同步方法import java.util.C
import java.util.LinkedL
public class Main {
public static void main(String[] argv) throws Exception {
LinkedList queue = new LinkedList();
Object object = "";
queue.add(object);
Object o = queue.removeFirst();
queue = (LinkedList) Collections.synchronizedList(queue);
}19、查找元素位置import java.util.LinkedL
public class Main {
public static void main(String[] args) {
LinkedList&String& lList = new LinkedList&String&();
lList.add("1");
lList.add("2");
lList.add("3");
lList.add("4");
lList.add("5");
lList.add("2");
System.out.println(lList.indexOf("2"));
System.out.println(lList.lastIndexOf("2"));
}20、替换元素import java.util.LinkedL
public class Main {
public static void main(String[] args) {
LinkedList&String& lList = new LinkedList&String&();
lList.add("1");
lList.add("2");
lList.add("3");
lList.add("4");
lList.add("5");
System.out.println(lList);
lList.set(3, "Replaced");//使用set方法替换元素,方法的第一个参数是元素索引,后一个是替换值
System.out.println(lList);
}21、链表添加对象import java.util.LinkedL
class Address {
Address(String n, String s, String c, String st, String cd) {
public String toString() {
return name + " " + street + " " + city + " " + state + " " +
class MailList {
public static void main(String args[]) {
LinkedList&Address& ml = new LinkedList&Address&();
ml.add(new Address("A", "11 Ave", "U", "IL", "11111"));
ml.add(new Address("R", "11 Lane", "M", "IL", "22222"));
ml.add(new Address("T", "8 St", "C", "IL", "33333"));
for (Address element : ml)
System.out.println(element + "\n");
}22、确认链表是否存在特定元素import java.util.LinkedL
public class Main {
public static void main(String[] args) {
LinkedList&String& lList = new LinkedList&String&();
lList.add("1");
lList.add("2");
lList.add("3");
lList.add("4");
lList.add("5");
if (lList.contains("4")) {
System.out.println("LinkedList contains 4");
System.out.println("LinkedList does not contain 4");
}23、根据链表元素生成对象数组Object[] objArray = lList.toArray();
for (Object obj: objArray) {
System.out.println(obj);
}24、链表多线程import java.util.C
import java.util.LinkedL
import java.util.L
class PrepareProduction implements Runnable {
private final List&String&
PrepareProduction(List&String& q) {
public void run() {
queue.add("1");
queue.add("done");
class DoProduction implements Runnable {
private final List&String&
DoProduction(List&String& q) {
public void run() {
String value = queue.remove(0);
while (!value.equals("*")) {
System.out.println(value);
value = queue.remove(0);
public class Main {
public static void main(String[] args) throws Exception {
List q = Collections.synchronizedList(new LinkedList&String&());
Thread p1 = new Thread(new PrepareProduction(q));
Thread c1 = new Thread(new DoProduction(q));
p1.start();
c1.start();
p1.join();
c1.join();
}25、优先级链表(来自JBOSS)import java.util.ArrayL
import java.util.LinkedL
import java.util.L
import java.util.ListI
import java.util.NoSuchElementE
public class BasicPriorityLinkedList {
protected LinkedList[] linkedL
public BasicPriorityLinkedList(int priorities) {
this.priorities =
initDeques();
public void addFirst(Object obj, int priority) {
linkedLists[priority].addFirst(obj);
public void addLast(Object obj, int priority) {
linkedLists[priority].addLast(obj);
public Object removeFirst() {
Object obj =
for (int i = priorities - 1; i &= 0; i--) {
LinkedList ll = linkedLists[i];
if (!ll.isEmpty()) {
obj = ll.removeFirst();
if (obj != null) {
public Object removeLast() {
Object obj =
for (int i = 0; i & i++) {
LinkedList ll = linkedLists[i];
if (!ll.isEmpty()) {
obj = ll.removeLast();
if (obj != null) {
if (obj != null) {
public Object peekFirst() {
Object obj =
for (int i = priorities - 1; i &= 0; i--) {
LinkedList ll = linkedLists[i];
if (!ll.isEmpty()) {
obj = ll.getFirst();
if (obj != null) {
public List getAll() {
List all = new ArrayList();
for (int i = priorities - 1; i &= 0; i--) {
LinkedList deque = linkedLists[i];
all.addAll(deque);
public void clear() {
initDeques();
public int size() {
public boolean isEmpty() {
return size == 0;
public ListIterator iterator() {
return new PriorityLinkedListIterator(linkedLists);
protected void initDeques() {
linkedLists = new LinkedList[priorities];
for (int i = 0; i & i++) {
linkedLists[i] = new LinkedList();
class PriorityLinkedListIterator implements ListIterator {
private LinkedList[]
private ListIterator currentI
PriorityLinkedListIterator(LinkedList[] lists) {
this.lists =
index = lists.length - 1;
currentIter = lists[index].listIterator();
public void add(Object arg0) {
throw new UnsupportedOperationException();
public boolean hasNext() {
if (currentIter.hasNext()) {
while (index &= 0) {
if (index == 0 || currentIter.hasNext()) {
currentIter = lists[index].listIterator();
return currentIter.hasNext();
public boolean hasPrevious() {
throw new UnsupportedOperationException();
public Object next() {
if (!hasNext()) {
throw new NoSuchElementException();
return currentIter.next();
public int nextIndex() {
throw new UnsupportedOperationException();
public Object previous() {
throw new UnsupportedOperationException();
public int previousIndex() {
throw new UnsupportedOperationException();
public void remove() {
currentIter.remove();
public void set(Object obj) {
throw new UnsupportedOperationException();
}26、生成list的帮助类(来自google)import java.util.ArrayL
import java.util.C
import java.util.LinkedL
import java.util.L
public class Lists {
private Lists() { }
public static &E& ArrayList&E& newArrayList() {
return new ArrayList&E&();
public static &E& ArrayList&E& newArrayListWithCapacity(int initialCapacity) {
return new ArrayList&E&(initialCapacity);
public static &E& ArrayList&E& newArrayList(E... elements) {
ArrayList&E& set = newArrayList();
Collections.addAll(set, elements);
public static &E& ArrayList&E& newArrayList(Iterable&? extends E& elements) {
ArrayList&E& list = newArrayList();
for(E e : elements) {
list.add(e);
public static &E& LinkedList&E& newLinkedList() {
return new LinkedList&E&();
上一篇: totalMemory() :返回 Java 虚拟机中的内存总量。 maxMemory() :返回 Java 虚拟机试图使用的最大内存量。 freeMemory() :返回 Java 虚拟机中的空闲内存量。 这是API的解释。 我写了这么一段代码 public class RuntimeDemo { public static void main(Strin
下一篇: 最近开发项目要求jdk在1.7以上,我先卸载了jdk1.6,下载1.7下来安装好,配置下环境变量,可以是在输入java -version的时候发现: java Error opening registry key Software\JavaSoft\Java Runtime Environment 但是输入java c可以看到帮助命令,在网上找了LinkedList类中getFirst()和getLast()方法不能实现,咋回事 - J2SE当前位置:& &&&LinkedList类中getFirst()和getLast()方法不能实现LinkedList类中getFirst()和getLast()方法不能实现,咋回事&&网友分享于:&&浏览:44次LinkedList类中getFirst()和getLast()方法不能实现,怎么回事?程序如下:import java.util.*;class LinkedList1{ public static void main(String[] args) {
LinkedList ll=new LinkedList();
ll.add(&A&);
ll.add(&C&);
ll.add(&B&);
ll.add(&w&); &
ll.getFirst();
System.out.println(ll);
ll.getLast();
System.out.println(ll); }}为什么得到的结果是:[A,C,B,W] &
[A,C,B,W]& 而不是得到链表中的第一个元素和第二个元素呢?说明:我用的JDK的版本是:j2sdk1.4.2_13
程序是在DOS控制台下做的!------解决方案--------------------System.out.println(ll);& -----你输出的就是整个list,当然是[A,C,B,W]了。应该是System.out.println(ll.getFirst());System.out.println(ll.getLast());
------解决方案--------------------为什么应该是“链表中的第一个元素和第二个元素”,你的理由是什么?getFirst()和getLast()都不会改变链表本身,当然,输出的结果就是你存进去时的样子了。
------解决方案--------------------晕
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有> LinkedList类中getFirst()和getLast()方法不能实现,咋回事
LinkedList类中getFirst()和getLast()方法不能实现,咋回事
skyltlt & &
发布时间: & &
浏览:9 & &
回复:3 & &
悬赏:0.0希赛币
LinkedList类中getFirst()和getLast()方法不能实现,怎么回事?程序如下:import java.util.*;class LinkedList1{ public static void main(String[] args) {
LinkedList ll=new LinkedList();
ll.add(&A&);
ll.add(&C&);
ll.add(&B&);
ll.add(&w&); &
ll.getFirst();
System.out.println(ll);
ll.getLast();
System.out.println(ll); }}为什么得到的结果是:[A,C,B,W] &
[A,C,B,W]& 而不是得到链表中的第一个元素和第二个元素呢?说明:我用的JDK的版本是:j2sdk1.4.2_13
程序是在DOS控制台下做的!
System.out.println(ll);& -----你输出的就是整个list,当然是[A,C,B,W]了。应该是System.out.println(ll.getFirst());System.out.println(ll.getLast());
skymars & &
& & (0)(0)为什么应该是“链表中的第一个元素和第二个元素”,你的理由是什么?getFirst()和getLast()都不会改变链表本身,当然,输出的结果就是你存进去时的样子了。
skymars & &
& & (0)(0)晕skymars & &
& & (0)(0)
本问题标题:
本问题地址:
温馨提示:本问题已经关闭,不能解答。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&

我要回帖

更多关于 0571 2821 6651 的文章

 

随机推荐