在不使用集合Java的情况下对文件中的整数排序

悉达多饶

我需要在不使用数组/数组列表的情况下对文件中的整数进行排序。必须使用RandomAccessFile读取文件。除了使用arraylist之外,我想不出其他任何方法来解决此问题。我可以使用一些变量。另外,如何在文件中交换两个数字?

import java.io.*;

class Sort
{
    public static void main(String[] args)
    {
        try {
            RandomAccessFile abc = new RandomAccessFile(args[0], "rw");
            long n = abc.length();
            System.out.println(n);
            long i = 0;
            while (i <= n) {
                System.out.println("Coming Here");
                int c = Integer.parseInt(abc.readUTF());
                System.out.println(c);
                i = i + 1;
            }
        } catch (IOException e) {
            System.out.println(e);
        }
    }
}
乔普·艾根(Joop Eggen)

首先,由于整数数字表示长度的变化,当整数在文件中的文本位置时,任务将很困难。

  • 首先,应检查数据是否为二进制。

因此,我假设包含的二进制数据int存储在文件中。Javaint占用4个字节,因此每个文件位置将是4倍。

因此,您可以使用array如果为所有数组,Arrays.sort将解决它。否则,几个数组和合并排序算法将是可行的。

使用随机访问文件,您可以使用以下方法进行快速排序或合并排序:

fh.seek(i1*4L);
int n1 = fh.readInt();
// If ints are not stored in big endian byte order:
// int n1littleEndian = Integer.reverse(n1);

在生产环境中,将获得关联的通道,并使用内存映射的字节缓冲区;加快速度。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在不使用Prelude的情况下对文件系统数据进行排序

如何在不使用'字符的情况下对文本文件中的列求平均?

如何在不使用java中的compare()方法的情况下进行选择排序?

SWIFT 如何在不使用集合函数创建新字典的情况下对字典进行排序?

在不使用InputStream的情况下更新Java Apache POI中的现有Excel文件

在不使用String的情况下引用Java中的包

如何在不安装语言环境且不使用sudo的情况下,以任意编码对文件使用grep?

在不使用字符串方法和不使用数组的情况下对整数进行排序

Java在不使用数组的情况下以以下格式在4行和4列中打印整数

如何在不使用集合的情况下从python列表中删除重复的单词?

在不使用克隆特征的情况下从集合中获取价值

如何在不使用字典或集合的情况下删除列表中的重复项?

如何在不使用外部API的情况下在Java中对10Gb文件进行排序

如何在不使用@SpringBootApplication的情况下仅使用XML文件在Spring Boot Java中创建REST端点?

在不使用 distinct() 方法的情况下查找整数列表中的重复元素

在不使用数组的情况下打印C中相邻的整数和序列

Peewee在迁移过程中在不使用主键的情况下递增整数字段

如何在不使用isdigit的情况下检查数字是否不是C中的整数?

在不使用阵列控制器的情况下如何在Ember模型中实现排序?

如何在不使用 Hashmap 的情况下对字符串中的字符重新排序?

在不使用 Fielddata 的情况下对弹性搜索中的文本字段进行排序

如何在不使用字符串或数组的情况下按升序对整数进行排序?

如何在不使用shell的情况下将multipe文件馈送到Java中的命令行

如何在不使用临时文件排序的情况下按sum(:field)进行排序

如何在不使用OverloadedStrings的情况下对文本进行模式匹配?

如何在不使用Java -jar的情况下运行Java可执行文件

如何在不使用自动导出的情况下使用Selenium Webdriver从Java生成Har文件?

如何让我的java项目在不使用绝对路径的情况下使用某些文件?

如何在不使用连接参数的情况下从python中的.sql文件中读取数据