「java列表改变」java 列表
今天给各位分享java列表改变的知识,其中也会对java 列表进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、Java,列表框的值怎么修改?
- 2、java里怎么修改list记录中的某个值?
- 3、Java怎么知道list实体修改了那些数据
- 4、Java中如何改变List里对象的属性值
- 5、java入参是list,方法内部改变该list,调用者能看到list的变化吗
Java,列表框的值怎么修改?
JList 的内容可以是动态的,换句话说,在创建 JList 之后,列表元素可以改变值,列表的大小也可以改变。JList 利用 swing.event.ListDataListener 实现在其模型中观察更改。正确实现的 ListModel 在每次发生更改时向其侦听器发出通知。更改的特征由标识已修改、已添加或已移除的列表索引范围的 swing.event.ListDataEvent 来描述。简单动态内容 JList 应用程序可以使用 DefaultListModel 类存储列表元素。此类实现 ListModel 接口,同时提供 java.util.Vector API。
构造函数:
List(ListModel dataModel)
构造一个 JList,使其使用指定的非 null 模型显示元素。
也可以用方法:
setModel(ListModel model)
设置表示列表内容或“值”的模型
如下可以访问每一个元素并输出元素值,
String[] data = {"one", "two", "three", "four"};
JList dataList = new JList(data);
for(int i = 0; i dataList.getModel().getSize(); i++) {
System.out.println(dataList.getModel().getElementAt(i));
}
如果你想改列表中的元素,试试用(不过前提是用DefaultListModel,而不是String数组.)
DefaultListModel 里面的一些方法:
void add(int index, Object element)
在此列表的指定位置处插入指定元素。
void addElement(Object obj)
将指定组件添加到此类表的末尾。
int capacity()
返回此列表的当前容量。
void clear()
从此列表中移除所有元素。
boolean contains(Object elem)
测试指定对象是否为此类表中的组件。
void copyInto(Object[] anArray)
将此列表的组件复制到指定数组中。
Object elementAt(int index)
返回指定索引处的组件。
Enumeration? elements()
返回此列表的组件枚举。
void ensureCapacity(int minCapacity)
增加此列表的容量(如有必要),以确保其至少能够保存最小容量参数指定的组件数。
Object firstElement()
返回此列表中的第一个组件。
Object get(int index)
返回列表中指定位置处的元素。
Object getElementAt(int index)
返回指定索引处的组件。
int getSize()
返回此列表中的组件数。
int indexOf(Object elem)
搜索 elem 的第一次出现。
int indexOf(Object elem, int index)
从 index 开始搜索 elem 的第一次出现。
void insertElementAt(Object obj, int index)
将指定对象作为此列表中的组件插入到指定的 index 处。
boolean isEmpty()
测试此列表中是否有组件。
Object lastElement()
返回列表的最后一个组件。
int lastIndexOf(Object elem)
返回 elem 最后一次出现处的索引。
int lastIndexOf(Object elem, int index)
从指定的索引处开始反向搜索 elem,并返回该对象的索引。
Object remove(int index)
移除此列表中指定位置处的元素。
void removeAllElements()
从此列表中移除所有组件,并将它们的大小设置为零。
boolean removeElement(Object obj)
从此列表中移除参数的第一个(索引最小的)匹配项。
void removeElementAt(int index)
删除指定索引处的组件。
void removeRange(int fromIndex, int toIndex)
删除指定索引范围中的组件。
Object set(int index, Object element)
使用指定元素替换此列表中指定位置上的元素。
void setElementAt(Object obj, int index)
将此列表指定 index 处的组件设置为指定的对象。
void setSize(int newSize)
设置此列表的大小。
int size()
返回此列表中的组件数。
Object[] toArray()
以正确顺序返回包含此列表中所有元素的数组。
String toString()
返回显示并标识此对象的属性的字符串。
void trimToSize()
对此列表的容量进行裁剪,使其等于此列表的当前大小。
java里怎么修改list记录中的某个值?
热心问友2012-11-14JList组件有一个单独的显示模式ListModel来表示JList的显示数据. JList创建以后,JList数据元素的值及数据元素的数量可以动态地改变. JList在它的数据模式ListModel中观察数据的改变.因此,一个ListModel 的正确实现应当在每次数据发生改变时,通知事件的监听者. 当使用构造函数JList(Object[])创建一个JList的实例时,系统将自动 创建一个DefaultListModel的实例来存储JList的显示数据, 可以调用 DefaultListModel中定义的简便方法来动态地修改JList的数据,如 removeElementAt(index),addElement(Object)等. DefaultListModel 在修改数据的同时,将通知JList关于数据的改变.追问。
Java怎么知道list实体修改了那些数据
修改了很多的
1.背景在Java中,我们可以使用list.remove()移除list中的特定值,但是如果需要移除所有出现的特定值,就值得研究一番了。此文将会使用多种方法来尝试解决此问题,并说明其优缺点。2.方法一:使用简单循环比如我们想移除某个value,很多人会这样写:
然而,以上代码存在严重问题,例如:对于一个List类型的List,当我们调用其list.remoce(int)方法时,实际移除的是index为1的值(在这个例子中是2),而不是我们想要的value为1的值。此循环将删光除了0位的所有值,并在最后一次循环中抛出越界异常。我们尝试这样修改如此就可以避免此问题但是,以上代码还有很大的优化空间,我们接着看。3.方法二在上述代码中,list.contains()()和list.remove()方法都查找了一次首次出现的值的index,这显然是做了不必要的重复工作,我们尝试这样优化代码:这样就只需要查找一次index但这段代码仍旧拥有很大的优化空间,因为我们没有保留每次查找的进度,导致事实上每次查找都是从头开始,我们尝试继续优化。4.方法三使用for循环一次遍历,保留了查找进度需要注意的是,当移除value,会导致后续index全部-1,所以我们一定要记得把index-1,否则将导致数组越界异常!5.方法四使用迭代器迭代器也可以保留状态6.方法五相比于不断修改原来的List,我们其实可以一次遍历的同时把值写入一个新的List,且新的List一定小于等于旧的List。对于ArrayList可以一次分配足够的空间,避免resize的操作。或虽然使用了额外的存储空间,但时间复杂度大大降低,还是值得的。7.方法六使用Java8引入的流操作其实和方法五等效,但简单了许多8.方法七使用list.removeIf()配合lambda表达式底层是迭代器实现9.总结其实在实际生产中,使用最后两种方法是最方便的。对于需要大量修改的List可以使用方法六,避免多次resize和shifting的性能损失,但需要额外内存。对于只有少量修改的List可以使用方法七。
Java中如何改变List里对象的属性值
一般的做法是数据库的实际数值取出来后放到一个编辑前的list里,画面上需要显示的通常要进行编辑,比如金额要加逗号,年月日要加斜杠,状态由数值转换为中文显示等等。这些都是属于编辑后list。
所以建议还是设定两个list。通过SQL文取出来的数据list,然后循环这个list,在这个循环里判断如果是0则表示申报,把编辑后的内容放到新的list里。最后画面显示时用这个新的list就可以了。这样比较清晰。
java入参是list,方法内部改变该list,调用者能看到list的变化吗
你好,很高兴认识你,这个问题我来回答你。java入参是list,方法内部改变该list,调用者是不能看到list的变化的,这是因为他缺少一个参数值的对照组,所以调用者是看不到变化的。
java列表改变的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java 列表、java列表改变的信息别忘了在本站进行查找喔。