假设我有一个对象集合:
List<String> myList = populateMyArrayList();
//Here I am having an ArrayList with 1000 elements
Run Code Online (Sandbox Code Playgroud)
哪种方法更好:
1:Mergesort然后二进制搜索
Collections.sort(myList);
int keyIndex = Collections.binarySearch(myList, key);
Run Code Online (Sandbox Code Playgroud)
2:顺序搜索
for(String s : myList){
if(s.equals(key)){
return s;
}
}
Run Code Online (Sandbox Code Playgroud)
根据要搜索的集合的大小,搜索方法是否应该有所不同?如果是,那么如何决定.
EDIT1:假设我必须多次搜索列表,并且列表中不会添加任何新元素.
编辑2:我本可以去HashSet,但我实际上有一个List<CustomObject>,我可以List根据CustomObject的不同属性多次搜索.所以equals我的CustomObject中没有重写的方法
这是bootstrap4:Bootstrap4复选框中的新复选框:
<label class="c-input c-checkbox">
<input type="checkbox">
<span class="c-indicator"></span>
Click here
</label>
Run Code Online (Sandbox Code Playgroud)
默认情况下<input>隐藏默认复选框,仅在单击时可见.有没有办法让它始终可见.
小提琴:jsFiddle
编辑:默认情况下,这就是我想要的.
我正在触发GET请求并JSON通过 Spring 成功获取数据RestTemplate。我也想获取Response Header信息,但不知道如何获取。
private String getAPIKeySpring() {
RestTemplate restTemplate = new RestTemplate();
String url = baseURL+"/users/apikey";
Map<String, String> vars = new HashMap<String, String>();
vars.put("X-Auth-User", apiUser);
JsonVO jsonVO = restTemplate.getForObject(url, JsonVO.class, vars);
System.out.println(jsonVO);
return null;
}
Run Code Online (Sandbox Code Playgroud) 我正在使用bootstrap和JQuery.
HTML
<div>
<ul>
<li><strong> Status : </strong><span id="monitorStatusSpan">1111</span></li>
</ul>
</div>
<button type="button" id="disableButton"
class="btn btn-primary" onclick="changeSpan();">Change</button>
Run Code Online (Sandbox Code Playgroud)
JavaScript的
function changeSpan() {
$('#monitorStatusSpan span').text('disssssssssssssssssss');
}
Run Code Online (Sandbox Code Playgroud)
这是小提琴.http://jsfiddle.net/alamzeeshan/5bw8d2ta/7/
但是跨度文本仍然没有改变.
有谁知道我错过了什么?
我正在映射一个表...说Employee到ArrayList<Employee>一个类级变量,我将在多个地方使用它,而不是每次都访问数据库.
我想把它保持为只读,即.没有人可以添加或删除
ArrayList曾经填充过的元素.
有人可以建议一种方法来实现这一目标吗
编辑:修改后我想要Exception抛出一些东西.
提前致谢
这里我调用三个线程,第二个和第三个线程等待第一个线程完成,然后开始并行执行.如果我使用executor.shutdown()那么只执行第一个任务.我想知道在我的所有线程执行完毕后如何关闭执行程序
public static void main(String[] args) {
System.out.println("In main");
ExecutorService executor = Executors.newFixedThreadPool(3);
CompletableFuture<Void> thenCompose = supplyAsync(() -> doTask1(), executor)
.thenCompose(resultOf1 -> allOf(
runAsync(() -> doTask2(resultOf1), executor),
runAsync(() -> doTask3(), executor)
));
//executor.shutdown();
System.out.println("Exiting main");
}
private static void doTask3() {
for(int i=0; i<5;i++) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.print(3);
}
}
private static void doTask2(int num) {
for(int i=0; i<5;i++) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
} …Run Code Online (Sandbox Code Playgroud) java ×4
collections ×2
arraylist ×1
bootstrap-4 ×1
css ×1
css3 ×1
final ×1
get ×1
html ×1
javascript ×1
jquery ×1
json ×1
mergesort ×1
resttemplate ×1
spring ×1