我正在尝试创建一个table扩展的类ArrayList.在其中,我希望能够创建一个map采用lambda表达式并返回table带有映射值的new 的方法.我也想这样做filter.我使用地图和过滤很多,我不喜欢一遍又一遍地输入整个东西.
public abstract class Table<E extends Element> extends ArrayList<E> {
// a lot of other stuff.
public Table<E> map(/*WHAT DO I PUT HERE?*/ mapper) {
return this.stream().map(mapper).collect(/*WHAT DO I PUT HERE?*/);
}
public Table<E> filter(/*WHAT DO I PUT HERE?*/ predicate) {
return this.stream().filter(predicate).collect(/*WHAT DO I PUT HERE?*/);
}
}
Run Code Online (Sandbox Code Playgroud)
我仍在试图找出泛型.也许有更好的方法.我不知道.我曾尝试复制原始代码中的内容ArrayList,但我尝试的所有内容似乎都会产生新的问题.
我试图强制 a 的子项GridPane适应其所在单元格的大小。在本例中,我正在创建一个月视图日历,并且无论其中有什么,列和行都是固定大小的。
在此日历上,每个单元格都包含一个法线VBox,每个单元格都VBox包含一个标签,显示该月的某一天以及该天的每个事件。很多日子都没有什么活动;其中一些只有一项活动;还有一些举办不止一场活动。
日历大小取决于窗口大小,并且会根据窗口增大和缩小。现在,如果单元格太小而无法容纳所有事件,那么单元格VBox中当天事件的高度就会变得比单元格大。
标题行具有以下约束:
HEADER_CONSTRAINT = new RowConstraints(10, -1, 500,
Priority.NEVER, VPos.BASELINE, true);
Run Code Online (Sandbox Code Playgroud)
其他行有这个约束:
ROW_CONSTRAINT = new RowConstraints(30, 30, Integer.MAX_VALUE,
Priority.ALWAYS, VPos.TOP, true);
Run Code Online (Sandbox Code Playgroud)
我认为我需要做的是:
grid.add(cell, c, r);
vbox.maxHeightProperty().bind(grid.getRow(r).heightProperty()); // <-- this line is not right, but something like this.
Run Code Online (Sandbox Code Playgroud) 这是我的代码:
from xml.etree.ElementTree import ElementTree
from xml.etree.ElementTree import Element
import xml.etree.ElementTree as etree
import os
class Accounts:
def __init__(self):
self.file_path = os.path.join('lib', 'accounts.xml')
def get(self, key, value):
tree = ElementTree.parse(self.file_path)
print(tree)
accounts = Accounts
accounts.get('k', 'v')
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Traceback (most recent call last):
File ".\XML_Build.py", line 15, in <module>
accounts.get('k', 'v')
TypeError: get() missing 1 required positional argument: 'value'
Run Code Online (Sandbox Code Playgroud)
当我使用时accounts.get(key='k', value='v'),错误提示我丢失了'self'。我以前从未见过这个问题。我如何通过自我?我还以为自动通过了