- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个程序来读取如下所示的文本文件:
3679 87
196 60
17914 12
18618 64
2370 65
584 85
18524 34
12024 5
6992 76
18410 56
所以列表是这样设置的,左列是商品 ID,右列是库存中商品的编号(就好像这是一家商店一样)。我需要这个程序做的是,将左列(商品 ID)从最低到最高排序,然后如图所示打印列表,并使其正确的库存量与其对齐。所以它看起来像这样:
184 14
196 60
206 31
584 85
768 85
2370 65
3433 5
3679 87
etc....
到目前为止,我自己编写的内容是,导入文件,将数字拆分为两个不同的数组,以便我可以使用 Arrays.sort() 对 ID 进行排序。
现在我想做的是,确保如果我对 ID 进行排序,我可以让库存遵循其分配的 ID。我在 Java 文档上进行了一些搜索,找到了 SortKey 函数,我想知道如何使用它?或者这是否是解决这个问题的正确方法。
这是我当前的代码:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class Store {
public static void main(String[] args) throws FileNotFoundException {
// **************Scanner s = new
// Scanner(input).useDelimiter("\\s*,\\s*");
ArrayList<String> numbersString = new ArrayList<String>();
ArrayList<Integer> numbers = new ArrayList<Integer>();
ArrayList<Integer> ids = new ArrayList<Integer>();
ArrayList<Integer> inventory = new ArrayList<Integer>();
int arraySize = numbersString.size();
List<Integer> l1 = new ArrayList<Integer>();
List<Integer> l2 = new ArrayList<Integer>();
Scanner s = new Scanner(new FileReader("file50.txt"));
try {
while (s.hasNext()) {
l1.add(s.nextInt());
l2.add(s.nextInt());
}
System.out.print(l1);
System.out.println();
System.out.print(l2);
int[] list1 = new int[l1.size()];
int[] list2 = new int[l2.size()];
ArrayList<Integer> l3 = new ArrayList<Integer>();
for (int x = 0; x <= l1.size() - 1; x++) {
int n = l1.get(x);
list1[x] = n;
}
// System.out.print(Arrays.toString(list1));
for (int p = 0; p <= l2.size() - 1; p++) {
int o = l2.get(p);
list2[p] = o;
}
for(int y = 0; y < l1.size(); y++){
}
Arrays.sort(list1);
Arrays.sort(list2);
//System.out.println();
//System.out.print(Arrays.toString(list1));
}
catch (Exception i) {
i.printStackTrace();
}
}
}
我希望我说得足够有道理,对于如何做我想做的事情的任何建议都会很棒!
谢谢
最佳答案
这个问题适合 map 。 (java中的键值存储)使用 TreeMap(自动提供键的自然排序),因此您根本不需要实现排序。您的任务只是用文件值填充树形图。
关于java - 二分查找和对两个数组使用 SortKey - 非常详细 [Java],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15796515/
我正在尝试使用 target-redshift 将数据推送到 aws-redshift https://pypi.org/project/target-redshift/ 我正在使用 airflow
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
我正在寻找涵盖这个想法的 Material : 给定一个类似列表的数据结构(例如数据库表),应该引入一个 sortKey 属性(列) 反射(reflect)所需的排序顺序(ORDER BY sortK
Redshift 允许将多个列指定为 SORTKEY列,但大多数最佳实践文档的编写方式好像只有一个 SORTKEY。 如果我用 SORTKEY (COL1, COL2) 创建一个表,这是否意味着所有列
我正在编写一个程序来读取如下所示的文本文件: 3679 87 196 60 17914 12 18618 64 2370
(我这里用的是Python 2) 我有一个字典列表,比方说 dei = [{'name': u'Thor'}, {'name': u'Œdipus'}, {'name': u'Creon'}] 我想按
我正在编写代码,在数据库中创建索引。使用 ICU 库,我的工作流程是: 用户语言环境中的字符串 -> 转换为 utf8 -> 规范化 utf8 -> 调用 ICU ucol_getSortKey 获取
我有一个非常技术性的问题,关于 Redshift 如何处理 DISTKEY和 SORTKEY内部以满足存储层和查询执行需求。我读过这个惊人的 post这很好地解释了每个关于 table 设计的含义。
有人可以帮我解决这个问题吗?它一直有效,直到我改变了一些东西试图优化它......该死! 这是我的 table 模型: class MyTableModel extends DefaultTableM
我开始对查询调优进行一些研究,并且一直在尝试使用 distkey 和 sortkey。从我读过的内容来看,如果我将 distkey 设置为连接列,查询计划器将使用合并连接而不是散列连接,这在 Reds
我在 redshift 中有一个表,其中包含十亿条记录(日志文件条目)。它有一个时间戳列 ts,上面有 distkey 和 sortkey。以下查询: select ts from apilogs
我有一个在 Spring Boot 中运行的 Spring Batch 项目,它运行良好。对于我的读者,我将 JdbcPagingItemReader 与 MySqlPagingQueryProvid
我正在尝试配置 JdbcPagingItemReader bean,但我不确切知道表中列的名称,因此我想知道是否有一种方法可以在没有排序键的情况下配置 PagingQueryProvider。 @Be
我正在将表的夜间快照加载到 Redshift 中。我在表的末尾添加了一个名为“rundate”的列,它仅表示数据何时通过我的 ETL 过程提取。它也是主要的排序键。 每晚的表格变得越来越长,其中许多有
我需要获取所有列,它们是 Redshift 中 sortkey 的一部分。 我尝试使用“select * from svv_table_info”获取信息,但它只有一列的信息。你能告诉我,我如何获取表
我需要获取所有列,它们是 Redshift 中 sortkey 的一部分。 我尝试使用“select * from svv_table_info”获取信息,但它只有一列的信息。你能告诉我,我如何获取表
让我问一些有关 AWS Redshift 上的列压缩的问题。 现在我们正在验证使用适当的 diststyle、sortkeys 和列压缩可以提高性能。 如果我的理解是正确的,列压缩可以帮助降低 IO
我正在尝试阅读 Python 配置文件(rs)的文档。我在 Win10 笔记本电脑上的 Anaconda 中使用 Python 3.6。 https://docs.python.org/3/libra
我想创建带有 GSI 的 DynamoDB 表。对于这个GSI,目前我只需要PartitionKey,因为我只想通过一个属性进行查询。但将来我可能需要通过其他属性进行查询。因此,我正在考虑添加一个 S
我是一名优秀的程序员,十分优秀!