「java里bag」java中的this
今天给各位分享java里bag的知识,其中也会对java中的this进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java中我想定义一个数组,然后数组每个成员都有自己的属性,改怎样弄?
- 2、java的gridbag.setConstraints是什么意思
- 3、java创建的包保存在哪里
- 4、java里GridBagaLayout布局
- 5、JAVA中commons-collections-3.2.1.jar包是干什么用的
java中我想定义一个数组,然后数组每个成员都有自己的属性,改怎样弄?
public class BagTest
{
public static void main(String[] args)
{
Bag[] bags = new Bag[10];
// 循环初始化书包,初始化根据实际需要修改
for (int i = 0; i bags.length; i++)
{
bags[i] = new Bag(i * 2 + 1, "red");
}
}
}
class Bag
{
// 大小
private int size;
// 颜色
private String color;
public Bag()
{
}
public Bag(int size, String color)
{
this.size = size;
this.color = color;
}
public int getSize()
{
return size;
}
public void setSize(int size)
{
this.size = size;
}
public String getColor()
{
return color;
}
public void setColor(String color)
{
this.color = color;
}
}
java的gridbag.setConstraints是什么意思
建议你去参考API
setConstraints
public void setConstraints(Component comp,
GridBagConstraints constraints)设置此布局中指定组件的约束条件。
参数:
Component comp - 要修改的组件
GridBagConstraints constraints - 要应用的约束条件,请参考下面内容
GridBagConstraints constraints
public GridBagConstraints(int gridx,
int gridy,
int gridwidth,
int gridheight,
double weightx,
double weighty,
int anchor,
int fill,
Insets insets,
int ipadx,
int ipady)创建一个 GridBagConstraints 对象,将其所有字段都设置为传入参数。注:因为使用此构造方法会妨碍源代码的可读性,所以此构造方法仅供自动源代码生成工具使用。
参数:
gridx - 初始 gridx 值。
gridy - 初始 gridy 值。
gridwidth - 初始 gridwidth 值。
gridheight - 初始 gridheight 值。
weightx - 初始 weightx 值。
weighty - 初始 weighty 值。
anchor - 初始 anchor 值。
fill - 初始 fill 值。
insets - 初始 insets 值。
ipadx - 初始 ipadx 值。
ipady - 初始 ipady 值。
从以下版本开始:
1.2
另请参见:
gridx, gridy, gridwidth, gridheight, weightx, weighty, anchor, fill, insets, ipadx, ipady
java创建的包保存在哪里
如图,Cat这个class在包com.bjsxt.struts2.ognl中,那么这个包com的路径就在javaweb/src下,其实它是一个文件夹,com.bjsxt.struts2.ognl就是com/bjsxt/struts2/ognl,然后Cat这个文件就在ognl中放着。
java里GridBagaLayout布局
不是你这个理解的。
看看这个例子。
JPanel jp1 = new JPanel();
//逼我祭出无序管理器大法
jp1.setLayout(new GridBagLayout());
GridBagConstraints gbt = new GridBagConstraints();
Insets titleInsets = new Insets(5, 5, 5, 5) ;
gbt.gridx=0; //X轴位置
gbt.gridy=2; //Y轴位置
gbt.gridwidth=1; //X轴大小
gbt.gridheight=1 ; //Y轴大小
gbt.weightx =0 ;//水平扩充比例
gbt.weighty =0 ;//垂直扩充比例
gbt.fill = GridBagConstraints.NONE ;//不扩充
gbt.anchor =GridBagConstraints.EAST; //居中对齐
gbt.insets = titleInsets; //与相邻格子的间距 top left bottom right
gbt.ipadx=0; //额外的扩充区域 x
gbt.ipady=0; //额外的扩充区域 y
jp1.add(new JLabel("单词提示:"),gbt);
gbt.gridx=1; //X轴位置
gbt.gridy=0; //Y轴位置
gbt.gridwidth=3; //X轴大小
gbt.gridheight=3 ; //Y轴大小
gbt.weightx =1 ;//水平扩充比例
gbt.weighty =1 ;//垂直扩充比例
gbt.fill = GridBagConstraints.BOTH ;//左右上下都扩充
gbt.anchor =GridBagConstraints.WEST; //居中对齐
gbt.insets = titleInsets; //与相邻格子的间距 top left bottom right
gbt.ipadx=0; //额外的扩充区域 x
gbt.ipady=0; //额外的扩充区域 y
jp1.add(wordDescJl,gbt);
gbt.gridx=0; //X轴位置
gbt.gridy=5; //Y轴位置
gbt.gridwidth=1; //X轴大小
gbt.gridheight=1 ; //Y轴大小
gbt.weightx =0 ;//水平扩充比例
gbt.weighty =0 ;//垂直扩充比例
gbt.fill = GridBagConstraints.NONE ;//不扩充
gbt.anchor =GridBagConstraints.EAST; //居中对齐
gbt.insets = titleInsets; //与相邻格子的间距 top left bottom right
gbt.ipadx=0; //额外的扩充区域 x
gbt.ipady=0; //额外的扩充区域 y
jp1.add(new JLabel("提示/答案:"),gbt);
gbt.gridx=1; //X轴位置
gbt.gridy=4; //Y轴位置
gbt.gridwidth=3; //X轴大小
gbt.gridheight=2 ; //Y轴大小
gbt.weightx =1 ;//水平扩充比例
gbt.weighty =1 ;//垂直扩充比例
gbt.fill = GridBagConstraints.BOTH ;//左右上下都扩充
gbt.anchor =GridBagConstraints.WEST; //居中对齐
gbt.insets = titleInsets; //与相邻格子的间距 top left bottom right
gbt.ipadx=0; //额外的扩充区域 x
gbt.ipady=0; //额外的扩充区域 y
jp1.add(wordJl,gbt);
gbt.gridx=0; //X轴位置
gbt.gridy=6; //Y轴位置
gbt.gridwidth=1; //X轴大小
gbt.gridheight=1 ; //Y轴大小
gbt.weightx =0 ;//水平扩充比例
gbt.weighty =0 ;//垂直扩充比例
gbt.fill = GridBagConstraints.NONE ;//不扩充
gbt.anchor =GridBagConstraints.EAST; //居中对齐
gbt.insets = titleInsets; //与相邻格子的间距 top left bottom right
gbt.ipadx=0; //额外的扩充区域 x
gbt.ipady=0; //额外的扩充区域 y
jp1.add(new JLabel("当前单词总数:"),gbt);
gbt.gridx=1; //X轴位置
gbt.gridy=6; //Y轴位置
gbt.gridwidth=1; //X轴大小
gbt.gridheight=1 ; //Y轴大小
gbt.weightx =0 ;//水平扩充比例
gbt.weighty =1 ;//垂直扩充比例
gbt.fill = GridBagConstraints.BOTH ;//左右上下都扩充
gbt.anchor =GridBagConstraints.WEST; //居中对齐
gbt.insets = titleInsets; //与相邻格子的间距 top left bottom right
gbt.ipadx=0; //额外的扩充区域 x
gbt.ipady=0; //额外的扩充区域 y
jp1.add(sizeJl,gbt);
gbt.gridx=2; //X轴位置
gbt.gridy=6; //Y轴位置
gbt.gridwidth=1; //X轴大小
gbt.gridheight=1 ; //Y轴大小
gbt.weightx =0 ;//水平扩充比例
gbt.weighty =0 ;//垂直扩充比例
gbt.fill = GridBagConstraints.NONE ;//扩充
gbt.anchor =GridBagConstraints.EAST; //居中对齐
gbt.insets = titleInsets; //与相邻格子的间距 top left bottom right
gbt.ipadx=0; //额外的扩充区域 x
gbt.ipady=0; //额外的扩充区域 y
jp1.add(new JLabel("当前单词输错次数:"),gbt);
gbt.gridx=3; //X轴位置
gbt.gridy=6; //Y轴位置
gbt.gridwidth=1; //X轴大小
gbt.gridheight=1 ; //Y轴大小
gbt.weightx =0 ;//水平扩充比例
gbt.weighty =1 ;//垂直扩充比例
gbt.fill = GridBagConstraints.BOTH ;//扩充
gbt.anchor =GridBagConstraints.WEST; //居中对齐
gbt.insets = titleInsets; //与相邻格子的间距 top left bottom right
gbt.ipadx=0; //额外的扩充区域 x
gbt.ipady=0; //额外的扩充区域 y
jp1.add(currenErrCountJl,gbt);
gbt.gridx=0; //X轴位置
gbt.gridy=7; //Y轴位置
gbt.gridwidth=1; //X轴大小
gbt.gridheight=1 ; //Y轴大小
gbt.weightx =0 ;//水平扩充比例
gbt.weighty =0 ;//垂直扩充比例
gbt.fill = GridBagConstraints.NONE ;//扩充
gbt.anchor =GridBagConstraints.EAST; //居中对齐
gbt.insets = titleInsets; //与相邻格子的间距 top left bottom right
gbt.ipadx=0; //额外的扩充区域 x
gbt.ipady=0; //额外的扩充区域 y
jp1.add(new JLabel("提输入单词:"),gbt);
gbt.gridx=1; //X轴位置
gbt.gridy=7; //Y轴位置
gbt.gridwidth=3; //X轴大小
gbt.gridheight=1 ; //Y轴大小
gbt.weightx =0 ;//水平扩充比例
gbt.weighty =1 ;//垂直扩充比例
gbt.fill = GridBagConstraints.BOTH ;//扩充
gbt.anchor =GridBagConstraints.WEST; //居中对齐
gbt.insets = titleInsets; //与相邻格子的间距 top left bottom right
gbt.ipadx=0; //额外的扩充区域 x
gbt.ipady=0; //额外的扩充区域 y
jp1.add(inputJt,gbt);
提交回答
JAVA中commons-collections-3.2.1.jar包是干什么用的
1.commons-collections 包的功能
为Java标准的Collections API提供了相当好的补充。在此基础上对其常用的数据结构操作进行了很好的封装、抽象和补充。保证性能的同时大大简化代码。
2.commons-collections 包的分类:
根据集合类型,大致将此包的类归纳为9类:
Bag -- 在org.apache.commons.collections包中定义的接口,它extends java.util.Collection,而它的实现类都被放在下面的bag包中。HashBag是Bag接口的一个标准实现。而BagUtils提供一组static的方法让调用者获取经过不同装饰后的Bag实例.具体用法见代码样例
Buffer -- 定义在org.apache.commons.collections包下面的接口,用于表示按一定顺序除去成员对象的collection如队列等。具体的实现类在org.apache.commons.collections.buffer 包下可以找到。最简单直接的Buffer实现类是UnboundedFifoBuffer,提供先进先出的大小可变的队列。而BoundedFifoBuffer则是对其大小进行了限制,是固定大小的先进先出队列。BlockingBuffer要在多线程的环境中才能体现出它的价值,尤其是当我们需要实现某种流水线时这个BlockingBuffer很有用:每个流水线上的组件从上游的BlockingBuffer获取数据,处理后放到下一个BlockingBuffer中依次传递。BlockingBuffer的核心特色通俗点说就是如果你向它要东西,而它暂时还没有的话,你可以一直等待直至拿到为止。PriorityBuffer则提供比一般的先进先出Buffer更强的控制力:我们可以自定义Comparator给它,告诉它怎么判定它的成员的先后顺序,优先级最高的最先走。此外还有执行类型检查的TypedBuffer、或者不可改变的UnmodifiableBuffer等等
Map -- 在java.util.Map的基础上扩展的接口和类。BidiMap,直译就是双向Map,可以通过key找到value,也可以通过value找到key,这在我们日常的代码-名称匹配的时候很方便:因为我们除了需要通过代码找到名称之外,往往也需要处理用户输入的名称,然后获取其代码。需要注意的是BidiMap当中不光key不能重复,value也不可以。MultiMap,就是说一个key不在是简单的指向一个对象,而是一组对象,add()和remove()的时候跟普通的Map无异,只是在get()时返回一个Collection,利用MultiMap,我们就可以很方便的往一个key上放数量不定的对象,也就实现了一对多。LazyMap,意思就是这个Map中的键/值对一开始并不存在,当被调用到时才创建。
Collection -- 用也各collection之间的类型转换。典型的是TypedCollection,它实际上的作用就是提供一个decorate方法,我们传进去一个Collection和需要的类型甄别信息java.lang.Class,它给我们创建一个全新的强类型的Collection。(暂无样例代码,以后补充)
Comparator -- 提供了一些Comparator的实现类(都在org.apache.commons.collections.comparators包下面)BooleanComparator – 用于排序一组Boolean对象,指明先true还是先false;ComparableComparator – 用于排序实现了java.lang.Comparable接口的对象(我们常用的Java类如String、Integer、Date、Double、File、Character等等都实现了Comparable接口);ComparatorChain – 定义一组Comparator链,链中的Comparator对象会被依次执行;FixedOrderComparator – 用于定义一个特殊的顺序,对一组对象按照这样的自定义顺序进行排序;NullComparator – 让null值也可参与比较,可以设定为先null或者后null;
ReverseComparator – 将原有的Comparator效果反转;TransformingComparator – 将一个Comparator装饰为具有Transformer效果的Comparator。
Predicate -- 它以一个Object对象为参数,处理后返回一个boolean值,检验某个对象是否满足某个条件。Commons Collections也提供了一组定义好的Predicate类供我们使用,这些类都放在org.apache.commons.collections.functors包中。当然,我们也可以自定义Predicate,只要实现这个Predicate接口即可。
Transformer -- 我们有时候需要将某个对象转换成另一个对象供另一组方法调用,而这两类对象的类型有可能并不是出于同一个继承体系的,或者说出了很基本的Object之外没有共同的父类,或者我们根本不关心他们是不是有其他继承关系,甚至就是同一个类的实例只是对我们而言无所谓,我们为了它能够被后续的调用者有意义的识别和处理,在这样的情形,我们就可以利用Transformer。除了基本的转型Transformer之外,Commons Collections还提供了Transformer链和带条件的Transformer,使得我们很方便的组装出有意义的转型逻辑。
Closure -- 这一组接口和类提供一个操作对象的execute方法,为我们在处理一系列对象时可以将处理逻辑分离出来。ChainedClosure可以包装一组Closure作为整体执行;IfClosure在创建时需要提供给它一个Predicate和两个Closure,执行时先做Predicate判定再决定执行哪一个Closure;SwitchClosure跟SwitchTransformer类似,根据创建时传入的Predicate组和Closure组对应执行;WhileClosure则根据创建时传入的Predicate做判断,如果为true则执行Closure,直到Predicate返回false;等等。
Iterator -- java.util.Iterator接口定义了标准的Collection遍历方法,但是如果不做改变的使用它,我们得到的是从头到尾一次性的遍历。假如我们需要循环遍历,假如我们需要遍历某一段,假如我们需要遍历满足某些条件的元素,等等等等,我们就不能完全依赖于这个Iterator的标准实现了。除非我们宁可在此基础上在调用的代码中多加一些判断,不过这样的话代码就会显得混乱,时间长了就容易变得难以维护。Commons Collections的这一组Iterator为我们带来了便利。
关于java里bag和java中的this的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-05,除非注明,否则均为
原创文章,转载请注明出处。