问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

randomaccessfile 实现了哪些接口

发布网友 发布时间:2022-04-09 23:14

我来回答

3个回答

懂视网 时间:2022-04-10 03:35

* Marker interface used by <tt>List</tt> implementations to indicate that * they support fast (generally constant time) random access. The primary * purpose of this interface is to allow generic algorithms to alter their * behavior to provide good performance when applied to either random or * sequential access lists. * List实现所使用的标记接口,用来表明实现了这些接口的list支持快速(通常是常数时间)随机访问。
* 这个接口的主要目的是允许一般的算法更改它们的行为,以便在随机或者顺序存取列表时能提供更好的性能。
 * <p>The best algorithms for manipulating random access lists (such as
 * <tt>ArrayList</tt>) can produce quadratic behavior when applied to
 * sequential access lists (such as <tt>LinkedList</tt>). Generic list
 * algorithms are encouraged to check whether the given list is an
 * <tt>instanceof</tt> this interface before applying an algorithm that would
 * provide poor performance if it were applied to a sequential access list,
 * and to alter their behavior if necessary to guarantee acceptable
 * performance.
 * 操作随机访问列表(如ArrayList)的最佳算法在应用于顺序存取列表时,有可能产生二次项行为。
* 泛型算法列表鼓励在将某个算法应用于顺序存取列表可能导致差的性能之前,先检查给定的列表是否是这个接口的一个实例,
* 并在需要时去改变这些算法的行为以保证性能。
 * <p>It is recognized that the distinction between random and sequential
 * access is often fuzzy. For example, some <tt>List</tt> implementations
 * provide asymptotically linear access times if they get huge, but constant
 * access times in practice. Such a <tt>List</tt> implementation
 * should generally implement this interface. As a rule of thumb, a
 * <tt>List</tt> implementation should implement this interface if,
 * for typical instances of the class, this loop:

* 随机访问和顺序存取之间的界限通常是模糊的。例如,一些List实现在变得很大时会导致渐进的非线性访问时间,但实际上是常量访问时间。
* 这样的List实现通常都应该实现该接口。
 * 一般来说,某个List实现如果(对某些典型的类的实例来说)满足下面的条件,就应该实现这个接口:循环
 * <pre>
 * for (int i=0, n=list.size(); i < n; i++)
 *  list.get(i);
 * </pre>
 * runs faster than this loop:
* 比下面的循环运行速度快。 * <pre> * for (Iterator i=list.iterator(); i.hasNext(); ) * i.next(); * </pre> * * <p>This interface is a member of the * <a href="{@docRoot}/../technotes/guides/collections/index.html"> * Java Collections Framework</a>. * 这个接口是Java集合框架的一员。 * @since 1.4 */ public interface RandomAccess { }

 RandomAccess是一个空接口,而空接口的作用一般是起到一个标识的作用。

通俗点讲,就是判断一个list是否实现了RandomAcess接口,如果实现了,采用下面所示的简单的for循环进行访问速度比较快:

for (int i=0, n=list.size(); i < n; i++)
 list.get(i);

如果未实现RandomAcess接口,则采用下面的iterator循环访问速度比较快。

for (Iterator i=list.iterator(); i.hasNext(); )
 i.next();

判断使用instanceof,即

 if (list instanceof RandomAccess) 

 

RandomAccess接口

标签:port   ceo   rod   ide   style   性能   size   guide   tween   

热心网友 时间:2022-04-10 00:43

对于文本文件来讲,最好用Reader/Writer而不是Stream。
你用RandomAccessFile很痛苦的。

实在要做,一种做法是开足够的buffer,将全部数据都读出来,然后一次性的new String 再倒序。和用Reader的做法差不多

热心网友 时间:2022-04-10 02:01

求解决乱码
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见好多鱼在水里活蹦乱跳 教你如何将让reaver PIN 进度随意更改精确前四位 求个保存PIN进度的方法 ...不上外接键盘,但鼠标一直有用,谁能告诉我怎么回事,先谢了。。_百度... 相机SD卡,卡上图片电脑显示不出来 相机SD卡用读卡器插到电脑上DCIM文件夹不显示照片怎么解决? win10查询错误日志的方法-win10怎么查询错误日志 电脑系统日志文件如何查看电脑里的系统日志 电脑事件日志在哪里看怎样查看电脑使用的日志 win11系统日志在哪里看 win11系统日志怎么看 SAS备课笔记_非参数检验 何谓非参数检验?wilcoxon符号秩和检验的用途是什么? 如何利用SPSS做非参数检验 常见非参数假设检验方法有哪些 描写秋天丰收景象的四字词语有哪些? paypal支付是外币 汇率怎么算 关于秋天和丰收的景象的成语有那些? 描写秋天丰收景象的四字词语 怎么查询身份证是否被盗用 去三亚旅游住在哪里比较好? 怎么解决手机打电话一直有杂音的情况?苹果手机打电话有杂音 三亚旅游 那个酒店比较好? 三亚旅游住哪个酒店好? 想去三亚旅游,住哪里的酒店比较好? 苹果手机打电话时有电流声,而且对方还听不到我的声音,怎么解决? iPhone打电话有电流声怎么回事? 到三亚旅游住哪个酒店比较好?要方便吃饭、出行、娱乐、离沙滩近,价格在500左右, 想去三亚旅游,入住哪个酒店比较好? 荠菜营养功效? 先安漏电断路器还是电表 雷克萨斯rx450车轮毂的宽度是多少j,et多少 雷克萨斯RX450h的车型概述 品质卓尔不群 雷克萨斯RX 雷克萨斯RX450h的车型配置内容 雷克萨斯RX450h 雷克萨斯RX450h价钱 03款雷克萨斯RX350尺寸谁知道?! 最新消息:雷克萨斯RX优惠总动员即将开始! 雷克萨斯RX450h车身有多重? 泰国的spa的特色 为什么泰式按摩这么流行 泰式按摩怎么样?北京哪家做泰式按摩好啊? 用自己的手机换个二手手机划得来吗 心疼,怎么用旧手机换新手机 广州电讯盈科的客服具体是做什么的? 我去应聘电讯盈科客服,他们问起为什么选择这家公司我该怎么说? 请问 你现在在电讯盈科做苹果客服吗,待遇怎么样? 电讯盈科客服代表面试问题!! 在广州电讯盈科做客服好吗 我中专文化目前在电讯盈科做客服不知道有没有发展前途? 广州电讯盈科售后客服专员工作怎么样