Tag: 设置

将表单的数据提交到java集

是否可以在Struts2的操作中将表单的数据提交给java Set? 行动代码: class TestAction extends ActionSupport{ private Set mySet = new LinkedHashSet(); public TestAction(){ } public String test(){ someMethod(mySet); } … Getters/Setters … } 表格代码:

Java部分订购了Collection

我正在寻找一个数据结构的Java实现,它包含一个元素集合,其中定义了一个部分排序 ,并允许一个元素以某种拓扑顺序迭代这些元素(任何可能的排序都很好;最好是一个稳定的订购作为集合的内容更改)。 理想情况下,它将实现Collection , Set或SortedSet接口,并支持接口上的所有方法。 在指定总排序方面,可以使用Comparator实例化集合,如果两个被比较的元素没有相互排序,比较器可能抛出exception( ClassCastException ?)。 作为奖励,如果插入的元素会产生排序exception(元素的有序图中的循环),它将抛出exception。 所以,是的,我想要的是一个拓扑排序,但我希望一个集合对象在每次插入/删除时维护该排序顺序 ,类似于SortedSet如何按排序顺序维护集合。 这样的事情存在吗? 在一些开源库中? 参考文献: http://en.wikipedia.org/wiki/Partially_ordered_set http://en.wikipedia.org/wiki/Topological_sorting 更新 在我意识到我的要求的性能影响(以及我无法解决的各种其他问题,使用poset)后,我最终采用了不同的方法解决了我的问题,我不需要一个poset。 依靠比较器来确定元素之间的顺序意味着对于元素插入,我必须针对每个现有元素查询比较器,每次插入花费O(n)。 如果性能不是很重要(它是),并且如果元素的数量被限制在合理的范围内(事实并非如此),我想我会采用Willie建议的方法,尽管可能使用我自己的图形实现和拓扑排序实现以最小化依赖性。

如果元素是重复的,为什么Set.of()会抛出IllegalArgumentException?

在Java 9中,在Set接口上引入了新的静态工厂方法,称为of(),它接受多个元素,甚至是一个元素数组。 我想将一个列表转换为一个集合,以删除集合中的任何重复条目,这可以通过以下方式完成(在Java 9之前): Set set = new HashSet(); set.addAll(list); 但我认为使用这个新的Java 9静态工厂方法会很酷: Set.of(list.toArray()) 其中list是先前定义的字符串列表。 但是,当元素是重复的时候,java抛出了IllegalArgumentException ,也在方法的Javadoc中说明了。 为什么是这样? 编辑 :这个问题不是关于概念上等效的主题,Map.of()方法的另一个问题的重复,但明显不同。 并非所有()方法的静态工厂都表现相同。 换句话说,当我问一些关于Set.of()方法的东西时,我不会点击处理Map.of()方法的问题。

如何在android中以编程方式启用/禁用gps和移动数据?

我希望我的应用程序能够以编程方式启用/禁用gps和移动数据,因为有许多应用程序,如tasker,profile flow,lookout extra,这可以做到这一点,所以我搜索它但没有找到任何有用的例子,我发现以下代码,但他们没有工作。 private void setMobileDataEnabled(Context context, boolean enabled) { final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); final Class conmanClass = Class.forName(conman.getClass().getName()); final Field iConnectivityManagerField = conmanClass.getDeclaredField(“mService”); iConnectivityManagerField.setAccessible(true); final Object iConnectivityManager = iConnectivityManagerField.get(conman); final Class iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName()); final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod(“setMobileDataEnabled”, Boolean.TYPE); setMobileDataEnabledMethod.setAccessible(true); setMobileDataEnabledMethod.invoke(iConnectivityManager, enabled); } private void turnGPSOn(){ String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED); […]

Generics Hell:我可以使用generics构建TypeLiteral <Set >吗?

我能够使下面的generics方法工作的唯一方法是传递看似冗余的TypeLiteral<Set>参数。 我认为应该可以在给定其他参数的情况下以编程方式构造此参数,但无法弄清楚如何。 protected Key<Set> bindMultibinder( TypeLiteral<Set> superClassSet, TypeLiteral superClass) { final Key<Set> multibinderKey = Key.get(superClassSet, randomAnnotation); return multibinderKey; } 客户端代码如下: bindMultibinder(new TypeLiteral<Set<A>>(){}, new TypeLiteral<A>(){}); 其中A和B是接口。 如果我尝试以下(删除TypeLiteral<Set> superClassSet参数),我得到一个java.util.Set cannot be used as a key; It is not fully specified. java.util.Set cannot be used as a key; It is not fully specified. 运行时错误。 protected Key<Set> bindMultibinder(TypeLiteral superClass) […]

这两个java变量声明有什么区别?

public class SomeClass { private HashSet contents = new HashSet(); private Set contents2 = new HashSet(); } 有什么不同? 到底他们都是HashSet不是吗? 第二个看起来对我来说是错的,但我已经看到它经常使用,接受和工作。

如何设置Maven在运行测试时覆盖另一个设置文件?

请参阅以下Maven生成的项目 target classes test-classes src main java scripts resources datasource-settings.xml test java resources datasource-settings.xml 我想在运行测试时使用test / resources / datasource-settings.xml中的设置而不是main / resources / datasource-settings.xml。 可能吗 ? 如果是这样,我该怎么办才能实现目标?

“可选操作”在Javadoc中的含义是什么,例如Set#add(E)?

在用于Set的java文档中时,它在方法规范中说明Optional Operation例如(我强调) 添加(E e) 如果指定的元素尚不存在,则将其添加到此集合(可选操作) 。 可选的含义是什么? 如果我使用除SUN / Oracle之外的JVM,Java的实现可能无法提供此操作?

用于Java中的集合操作的API?

是否存在用于集合操作的API,例如Union,交集,差异,笛卡尔积,从集合到另一个集合的函数,域限制和这些函数的范围限制,….在Java中? 请评论(运营)和业绩的覆盖范围。 谢谢

是否有像JavaScript中的Java Set这样的数据结构?

我想在JavaScript中使用可用于存储ID数量的数据结构。 我应该能够检查该集合中是否存在密钥,例如Java集合。 我希望得到如下相同的行为(此代码在Java中): Set st = new HashSet(); //add elemets if(st.contains(“aks”) ){ //do something } 我想要一个类似上面代码的JavaScript / dojo。