`
278035809
  • 浏览: 10228 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java简单数据压缩代码

    博客分类:
  • java
阅读更多

下面是数据压缩的一段代码,如果有不合适的地方,请帮忙纠正,谢谢
public static int[] compress(int[] tmp) {
	StringBuffer buffer = new StringBuffer();
	int begin = -1;//记录重复数据从哪里开始的
	for(int i =0;i < tmp.length;i++){
		if(i !=0 && tmp[i] != tmp[i-1])//与上一个元素比较
			begin = -1;
		//与下一个元素比较
		if((i+1)!= tmp.length && tmp[i] == tmp[i+1]){
			boolean flag = false;
			//重复开始索引
			if(begin == -1){
				begin = i;
				flag = true;
				buffer.append(0);
				buffer.append(",");
			}
			if(i !=0 && tmp[i] != tmp[i-1]&&!flag){
				buffer.append(i-begin-1);
				buffer.append(",");
				begin = -1;
			}
		}else if(-1 != begin&&(i+1)== tmp.length){//最后一个元素
			buffer.append(i-begin+1);
		}else if(i !=0 && (i+1)!= tmp.length && tmp[i] == tmp[i-1] && tmp[i] != tmp[i+1]){
			buffer.append(i-begin+1);
			buffer.append(",");
		}
        //不需要压缩的数据
		if( begin == -1){
			buffer.append(tmp[i]);
			buffer.append(",");
		}
	}
	String[] tmpS = buffer.toString().split(",");
	int[] retArray = new int[tmpS.length];
	for(int i = 0 ;i< tmpS.length;i++){
		retArray[i] = Integer.parseInt(tmpS[i]);
	}
	return retArray;
}
 
分享到:
评论

相关推荐

    java实现视频压缩

    用户可以通过导入这些代码和库,直接在自己的Java项目中实现视频压缩功能。 需要注意的是,视频压缩是一个计算密集型的任务,可能需要高性能的硬件支持。同时,不同的压缩算法会直接影响到压缩质量和文件大小的平衡...

    java数据处理代码

    这个压缩包中的“java数据处理代码”很可能包含了一系列用于处理和分析数据的示例程序,可能涵盖了数据挖掘和多线程技术。 首先,让我们详细探讨一下数据处理。数据处理是对原始数据进行转换、清洗、分析和建模的...

    Java数据压缩与传输实例

    在Java编程环境中,...总的来说,Java提供的API使得数据压缩和传输变得简单易行,开发者可以根据自己的需求灵活地组合和扩展这些功能。在实际开发中,理解并掌握这些基本操作,能够帮助我们更高效、稳定地处理数据。

    Java做图片压缩的代码

    在Java编程环境中,图片压缩和生成缩略图是常见的任务,尤其在处理大量图像数据或者优化网站性能时显得尤为重要。本文将深入探讨如何利用Java进行图片处理,包括压缩和生成缩略图的关键技术。 首先,Java提供了丰富...

    java简单压缩算法

    在Java开发中,文件的压缩与解压是一项常见的需求,尤其是在处理大量数据或需要传输大文件时。本文将深入解析一个基于Java的简单压缩算法,该算法利用Apache Ant库将整个文件夹压缩成ZIP文档。通过以下内容,我们将...

    JAVA文件压缩与解压缩实践(源代码+论文)

    在Java编程语言中,文件的压缩与解压缩是常见的数据处理操作,特别是在数据传输、存储优化和备份场景中。本实践项目围绕这个主题展开,包括源代码和相关的论文,为学习者提供了深入理解和应用Java压缩库的机会。以下...

    基于Java的数据压缩

    本主题聚焦于“基于Java的数据压缩”,特别是利用哈夫曼树的变种树进行数据编码。以下将深入探讨这一领域的核心概念和实现细节。 哈夫曼编码是一种高效的前缀编码方法,由哈夫曼在1952年提出。它主要用于无损数据...

    java代码解压与压缩代码

    下面将详细解释文件压缩与解压缩的基本原理、使用场景以及具体的Java代码实现。 ### Java文件压缩:GZIP格式 #### 原理概述 GZIP是一种广泛使用的文件压缩格式,基于Lempel-Ziv编码(LZ77)算法,通过查找重复的...

    JAVA文件压缩与解压缩实践(源代码+论文).rar

    Java文件压缩与解压缩是Java开发中常见的操作,特别是在数据传输、存储优化和备份场景下。本实践项目提供了源代码和相关论文,帮助开发者深入理解这一主题。在Java中,我们可以利用内置的`java.util.zip`包来实现...

    Java 字符串压缩和文件压缩代码

    在Java编程中,字符串压缩和文件压缩是常见的数据处理任务,尤其在大数据传输、存储优化等方面扮演着重要角色。本文将深入探讨Java中如何实现字符串和文件的压缩,以及涉及的相关技术。 首先,字符串压缩通常涉及到...

    java自带压缩方式的性能比较

    1. Gzip:Gzip是一种广泛使用的数据压缩格式,基于DEFLATE算法(结合了LZ77压缩和霍夫曼编码)。它通常用于单个文件的压缩,支持在线压缩和解压缩,且文件头包含有关压缩文件的信息,如时间戳和文件类型。 2. Zip:...

    JAVA压缩文件代码

    HUFFMAN编码是一种数据压缩算法,它基于字符频率构建一棵最优的二叉树来进行编码,广泛应用于文本压缩。本节将详细介绍如何在Java中实现HUFFMAN编码以及对文件进行压缩。 首先,我们需要理解HUFFMAN编码的基本原理...

    Java数据压缩与传输实例Java源码.

    在Java编程语言中,数据压缩和传输是两个关键的概念,特别是在大数据处理、网络通信和存储优化的场景下。本实例提供了Java源码,用于演示如何实现这些功能。 首先,我们来了解一下数据压缩。数据压缩的主要目的是...

    java 解压,压缩linux GZ压缩文件

    - 创建`GZIPOutputStream`,这个流会处理将普通数据压缩成GZ格式的工作。 - 使用缓冲区`byte[] buf`,从`FileInputStream`读取未压缩的数据,并通过`GZIPOutputStream`写入压缩数据。 - 在循环结束后,确保所有...

    java文件分割压缩

    Java文件分割压缩是一种常见的操作,尤其在处理大数据或者网络传输时非常有用,因为单个大文件可能会导致处理效率低或传输困难。以下是一些相关的Java编程知识点: 1. **文件I/O操作**:在Java中,`java.io`包提供...

    C#、java 字符流跨平台数据解压缩

    由于项目需求,需要在C#中压缩,然后在java里解压缩,或者倒过来,在Java里压缩,C#里解压缩,以下代码经测试验证通过。 关键技术点和体会: 压缩的结果采用Base64编码,方便在Java端或者C#端打印出来调试,也方便...

    气象云图数据解析代码之Java实现

    3. **数据解码**:AWX文件中的气象数据可能以特定的编码格式存在,如浮点数、整数或压缩的像素值。使用`ByteBuffer`的`getFloat()`, `getInt()`等方法解码数据,同时可能需要自定义解码算法来处理特定的编码格式。 ...

    仿zip压缩软件的java代码|zip.rar

    【标题】:仿zip压缩软件的java代码 在Java编程中,实现自定义的压缩软件,尤其是模仿ZIP标准,是一项有趣的挑战。ZIP是一种常见的文件格式,用于存储多个文件和目录在一个单一的档案中,通常带有压缩以节省空间。...

Global site tag (gtag.js) - Google Analytics