List re_pro = new LinkedList<>();
re_pro.add(5,"as");
报错 下标越界。
然后我看源码
public void add(int location, E object) {
if (location >= 0 && location <= size) {
Link<E> link = voidLink;
if (location < (size / 2)) {
for (int i = 0; i <= location; i++) {
link = link.next;
}
} else {
for (int i = size; i > location; i--) {
link = link.previous;
}
}
Link<E> previous = link.previous;
Link<E> newLink = new Link<E>(object, previous, link);
previous.next = newLink;
link.previous = newLink;
size++;
modCount++;
} else {
throw new IndexOutOfBoundsException();
}
}
这里面size是搞什么的 小于size直接抛异常。。
凌乱。 Linklist 不能直接add(任意序号,object); 吗?
难道每次还得指定size?
新手求解啊
re_pro.add(5,"as");
报错 下标越界。
然后我看源码
public void add(int location, E object) {
if (location >= 0 && location <= size) {
Link<E> link = voidLink;
if (location < (size / 2)) {
for (int i = 0; i <= location; i++) {
link = link.next;
}
} else {
for (int i = size; i > location; i--) {
link = link.previous;
}
}
Link<E> previous = link.previous;
Link<E> newLink = new Link<E>(object, previous, link);
previous.next = newLink;
link.previous = newLink;
size++;
modCount++;
} else {
throw new IndexOutOfBoundsException();
}
}
这里面size是搞什么的 小于size直接抛异常。。
凌乱。 Linklist 不能直接add(任意序号,object); 吗?
难道每次还得指定size?
新手求解啊
解决方案 »
- 新手求教:怎么确保android在应用中不会进入screen_off状态,比如说播放电影,听歌时候
- 我想把一个应用的代码文件打包成jar在集成另一个应用里面怎么做?
- 关于PreferenceActivity中EditTextPreference的使用
- 应用程序如何注册处理RIL层发来的主动上报事件
- Fragment中setAdapter() ListView报空指针,几天没解决,求大神!!!
- post乱码问题
- 蓝牙语音传输问题
- 请教下怎么给apk提权
- 几十行Java代码轻松Android平台的视频开发
- android的问题反馈功能
- 关于android app的开发中定位功能的实现
- adb shell screencap -p 截屏在代码里调用生成图片无法打开
每次 list.add(1,object);都会报错。(只要序号不是0都报下标越界)
顺序存储是:我一次性能申请连续内存固定数目个(便于定位),你再多,我不能扩容,我是死的,只能再次申请一个大的。
链式存储是:我每次插入一个值,就多申请一个,中间使用一个自引用的变量来记录下来相邻元素的顺序。
想一想,如果链式存储允许一个非常大的下标插入,要申请多少个没有用的小链节来填补这个下标上的空缺呢?
这一点上ArrayList也是同样的,有rangeCheckForAdd(int)方法的。