Tag: linked list

不要更新JTable

我找到了更新数据的示例,但它使用了DefaultTableModel。 当我创建自己的TableModel和我自己的数据类时,当我将数据添加到JTable时它不会更新。 如何向TableModel添加监听器? 这是我的代码: package by; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.util.LinkedList; import javax.swing.AbstractAction; import javax.swing.Box; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.SwingUtilities; import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; import javax.swing.table.AbstractTableModel; public class DialogEg { private static void createAndShowGui() { MainWin mainPanel = new MainWin(); JFrame […]

使用链接列表实现优先级队列

我已经使用链表实现了优先级队列。 在此优先级队列中,最小的int值具有最高值,因此通过调用remove方法将删除最小的方法。 节点类代码 public class Node { public int iData; public Node next; public Node(int x) { iData = x; } public void displayNode() { System.out.println(iData + ” “); } } 链接列表代码 public class LinkList { private Node first; public LinkList() { first = null; } public boolean isEmpty() { return first == null; } […]

在Java中存储国家/地区代码,名称和Continent的最佳方式

我想要一个List或某种类型的Array ,存储有关每个国家的信息: 2个字母代码 国家名称,如巴西 世界大陆/地区,如东欧,北美等。 我会手动将每个国家分类到地区/大陆(但如果有办法自动执行此操作,请告诉我)。 这个问题是关于如何存储和访问这些国家。 例如,我希望能够检索北美的所有国家/地区。 我不想使用本地文本文件等,因为这个项目将使用Google Web Toolkit转换为javascript。 但是存储在Enum或某种类型的其他资源文件中,将其与其余代码分开,就是我真正想要的。

面试问题:从未排序的链接列表中删除重复项

我正在阅读Cracking the Coding Interview,第四版:150编程面试问题和解决方案 ,我正在尝试解决以下问题: 2.1编写代码以从未排序的链表中删除重复项。 关注:如果不允许临时缓冲区,您将如何解决此问题? 我在C#中解决它,所以我创建了自己的Node类: public class Node where T : class { public Node Next { get; set; } public T Value { get; set; } public Node(T value) { Next = null; Value = value; } } 我的解决方案是遍历列表,然后为每个节点迭代通过列表的其余部分并删除任何重复项(请注意,我没有按照本书的指示实际编译或测试它): public void RemoveDuplicates(Node head) { // Iterate through the list Node iter […]

为什么我会收到ConcurrentModificationException?

为什么我在代码中的指定位置获得ConcurrentModificationException? 我无法弄清楚我做错了什么… removeMin()方法用于定位列表中的min,删除它,并返回其值 import java.util.Iterator; import java.util.LinkedList; public class test1 { static LinkedList list = new LinkedList(); public static void main(String[] args) { list.add(10); list.add(4); list.add(12); list.add(3); list.add(7); System.out.println(removeMin()); } public static Integer removeMin() { LinkedList pq = new LinkedList(); Iterator itPQ = pq.iterator(); // Put contents of list into pq for (int i = […]

print()函数,用于打印列表中每个元素的内容

基本上我正在尝试编写一个print语句,允许我在运行driver.java时将每行的元素打印为println作为输出。 而对于我的生活,我无法弄清楚如何做到这一点。 任何帮助将不胜感激。 这是driver.java public class Driver { public static void main(String args[]){ LList s_list = new LList(); s_list.insert(“New York, 8.4M”); s_list.insert(“Los Angeles 3.8M”); s_list.insert(“Chicago, 2.7M”); s_list.insert(“Houston, 2.1M”); s_list.insert(“Philadelphia, 1.55M”); s_list.insert(“Phoenix, 1.51M”); s_list.append(“San Antonio, 1.4M”); s_list.append(“San Diego, 1.35M”); s_list.append(“Dallas, 1.25M”); s_list.append(“San Jose, 0.998M”); s_list.append(“Austin, 0.88M”); s_list.append(“Indianapolis, 0.84M”); s_list.append(“Jacksonville, 0.84M”); s_list.append(“San Francisco, 0.83M”); s_list.append(“Columbus, 0.82M”); s_list.append(“Charlotte, […]

NullPointerException使用链接列表时出错

我刚刚完成了这个程序的工作,并将其编译,但在用户输入后它会中断并给我这个: 请在键盘12 4 3 2 1输入0或更多值 Exception in thread “main” java.lang.NullPointerException at Search.buildList(Search.java:41) at Search.main(Search.java:10) 这是代码: import java.io.*; import java.util.*; public class Search { public static void main(String argv[]) throws IOException { Scanner stdin = new Scanner(System.in); System.out.println(“Please input 0 or more values at keyboard”); Node head = buildList(); System.out.println(“Now printing list”); printList(head); System.out.println(“\nWhat key […]

关于arraylist的链表的比较

我知道LinkedList是作为双链表实现的。 它在添加和删除方面的性能优于Arraylist ,但在get和set方法方面更差。 这是否意味着我应该选择LinkedList over Arraylist进行插入? 我写了一个小测试,发现ArrayList插入速度更快。 那么链表如何比ArrayList更快? 请参考以下我做过的例子。 import java.util.Date; import java.util.LinkedList; import java.util.List; public class TestLinkedList { public static void main(String[] args) { long lStartTime = new Date().getTime(); System.out.println(“lStartTime:: ” + lStartTime); List integerList = new LinkedList(); for (int i = 0; i < 10000000; i++) { integerList.add(i); } long lEndTime = new […]

如何在Java中检查链表是否是回文?

我写了一个代码来检查单链表是否是回文。 我做了两个步骤: 1。 反转原始链表。 第2位。 检查原始链表和反向链表是否具有相同的元素。 public static Boolean isPalindrome(Node input){ Node reversed= reverse(input); while (input!=null){ if(input.item!=reversed.item) return false; input=input.next; reversed=reversed.next; } return true; } static Node head; public static Node reverse(Node input){ if(input==null || input.next==null){ head=input; return input; } else{ reverse(input.next); input.next.next=input; input.next=null; return head; } } 这个程序有效。 但是我想,当执行反向方法时,由于原始链表的头被传入,所以原始链表也可能会改变,所以isPalindrome也应该返回true,对吧? 我是对的还是你可以告诉我,如果我误解了任何概念? 谢谢 这是主要function以及我如何使用该代码: public static […]

ArrayList与Array和List

我已经编程了很多,最近开始学习更纯粹的计算机科学专题(面试)。 我知道Array和LinkedList数据结构之间的区别,但现在我已经开始使用Java了,我看到了这个ArrayList,我在构思时遇到了麻烦。 网络搜索只是真正告诉我如何使用它们以及什么时候使用它们(每个的好处),但没有什么能回答我的问题: 什么是ArrayList? 我的假设是它是一个列表,它维护对每个元素的内存引用,使它也能像数组一样工作。 我也有一种感觉,因为Java是开放的,我应该能够看看类定义,但还没有弄清楚如何做到这一点。 谢谢!