小编LPl*_*ava的帖子

Java中的循环LinkedList实现

这是一项任务.我必须创建一个循环链表并删除列表中的每三个数字.当我的程序到达列表的末尾时,它应该返回到头部并继续该过程,直到只剩下一个数字.

我在网上搜索了一些其他参考书,但无法解决我的问题.我发现的大多数参考文献都说如下:

除了循环列表没有结束这一事实外,它们与常规列表完全相同

或者(取自我的教科书):

如果最后一个节点的后继者是第一个,则单个链接列表循环链接

但这些并没有说明如何做到这一点.我也试过使用我在这个网站上找到的一些代码,但这并没有清楚.

我可以创建一个列表(我不知道它是否是循环链表)并显示它,但元素的顺序很奇怪:

  • 如果列表有6个数字,则列表为1,6,5,4,3,2.
  • 如果列表有8个数字,则列表为1,8,7,6,5,4,3,2.

如果没有正确的列表,我可以正确删除.以下代码有什么问题:

public class LastNumberDemo {
    public static void main(String[] args) {
        LastNumberNode ll=new LastNumberNode();
        System.out.println("how long is the list: ");
        Scanner keyboard = new Scanner(System.in);
        int input = keyboard.nextInt();

        if(input<=0) {
            System.out.println("no number to creat list");
        }
        if(input==1) {
            System.out.println("The Last number is 1.");
        }
        else {
            String[] n=new String[input];
            for(int index=0; index<n.length; index++)
                n[index]=Integer.toString(index+1);
            for(String e:n)
                ll.add(e);
            System.out.print("The list contains: \n");
            ll.print();
            System.out.print("\nThe last number is: ");
            ll.remove();
            ll.print();
        } …
Run Code Online (Sandbox Code Playgroud)

java linked-list circular-list

13
推荐指数
1
解决办法
4万
查看次数

删除java arraylist中的重复项

谢谢Marko.我重写了代码.尽量使它变得简单.这次它真的可以编译.但它只能删除重复的项目彼此相邻.例如,如果我输入1 2 3 3 4 4 5 1 - 输出为1 2 3 4 5 1.它最终无法获取副本.(顺便说一句:这个网站的新手,如果让任何显示混乱我的道歉)

这是新代码:

import java.util.*;

public class SetListDemo{
public static void main(String[] args){
    SetListType newList = new SetListType();
    Scanner keyboard = new Scanner(System.in);

    System.out.println( "Enter a series of items: ");
        String input = keyboard.nextLine();

    String[] original = input.split(" ");
    for (String s : original)
    newList.insert(s);

    List<String> finalList = new ArrayList(Arrays.asList(original)) ;

    Iterator<String> setIterator = finalList.iterator();  

    String position = null;

    while(setIterator.hasNext()){
        String secondItem = setIterator.next();

        if(secondItem.equals(position)){
            setIterator.remove();
        } …
Run Code Online (Sandbox Code Playgroud)

java iterator arraylist

1
推荐指数
1
解决办法
5117
查看次数

标签 统计

java ×2

arraylist ×1

circular-list ×1

iterator ×1

linked-list ×1